这是我的密码`
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列
RP 88.000
RP 200.000
我尝试从harga = it.find('div','element').__str__
到harga = it.find('div','element').text
,但收到错误AttributeError: 'NoneType' object has no attribute 'text'
我试着学习在Web上抓取PYTHON SELENCE,但是我被输出成了文本,我想我希望所有的输出都变成文本
Share
Improve this question
关注
11月2日6:30问道
Rezky Rezky
3855枚青铜徽章
2条答案
按热度按时间czq61nw11#
您可以在此行中添加**.text**
然后您将得到如下所示的输出
Nama Sepatu|Harga
Sepatu A|Rp.24.000
x3naxklr2#
看起来问题出在您用来定位元素的命令上。如果未找到元素,则BS为它们返回NONE。
这些行中的
element_1
和element
是什么意思?:和
如果这些是ID,则需要这样设置:
如果是类名:
或任何其他属性:
找到元素后,可以使用
.text
属性获取其文本