這是我的代碼`
from attr import attr
import requests
from bs4 import BeautifulSoup
import csv
datas = []
key = 'sepatu'
jenis = 'teplek'
url = 'https://website.com/search/?term={} {}'.format(key,jenis)
headers = {
'user-agent' : 'Mozilla/5.0 (X11; Linux x86_64; rv:106.0) Gecko/20100101 Firefox/106.0'
}
req = requests.get(url, headers=headers)
soup = BeautifulSoup (req.text, 'html.parser')
sepatu = soup.find_all('div', 'element_1')
for it in sepatu:
harga = it.find('div','element').__str__
datas.append([harga])
hasil = ['Harga']
write = csv.writer(open('result/{}_{}.csv'.format(key,jenis), 'w', newline=''))
write.writerow (hasil)
for d in datas: write.writerow(d)
這是此代碼的輸出
| A欄 |
|---|
| <系結方法標簽。Rp 88.000 的unicode > |
| <系結方法標簽。Rp 200.000 的unicode > |
如何將該輸出轉換為該輸出
| A欄 |
|---|
| 印尼盾 88.000 |
| 200.000 印尼盾 |
我試圖
但我得到harga = it.find('div','element').__str__了harga = it.find('div','element').text錯誤AttributeError: 'NoneType' object has no attribute 'text'
我嘗試學習網路抓取python selenium,但我得到了輸出到文本中的塊,我希望我希望所有輸出都變成文本
- Python
- 硒
- 網路
- 網頁抓取
uj5u.com熱心網友回復:
您可以在此行添加.text
harga = soup.find("div", {"class": "db gM ei b hE be f16-360-o ff vb uT ellipsis-1"}).text
然后你會得到這樣的輸出
| 納馬塞巴圖 | 哈爾加 |
|---|---|
| 塞巴圖 A | Rp.24.000 |
uj5u.com熱心網友回復:
看起來問題出在您用來定位元素的命令上。如果未找到元素,則 BS 為它們回傳 None。這幾行
是什么意思?:element_1element
sepatu = soup.find_all('div', 'element_1')
和
harga = it.find('div','element').__str__
如果這些是 ID,則需要這樣設定:
sepatu = soup.find_all('div', {'id': 'element_1'})
如果是類名:
sepatu = soup.find_all('div', {'class': 'element_1'})
或任何其他屬性:
sepatu = soup.find_all('div', {'attr_name': 'element_1'})
找到元素后,您可以使用.text屬性獲取其文本
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/525865.html
上一篇:區間值之和oracle
