【发布时间】:2018-10-25 16:59:23
【问题描述】:
我正在使用 Python 为它的 html 抓取零售商网站。我在他们的空调产品上寻找数据和属性,例如能源效率、常量或变量类型等。因此,我使用了 requests.get(),然后我计划使用正则表达式或 bs4 过滤数据。
file_number = 0
for portal in portals:
item = requests.get(portal)
item_text = str(item.text)
file_number += 1
file_name = "blah" + file_number.zfill(4) + ".txt"
file = open(file_name,"w",encoding="utf8")
file.write(item_text)
file.close()
我可以从我编译的 set() 中检索所有 html 页面。但是,缺少产品价格。如果我转到该页面并直接右键单击->检查,则会出现这条信息。
以下示例只是差异的一个实例。这两个文件是相同的,只是省略了所有对价格的引用(只是一个疯狂的猜测:根据购物者的不同,价格可能会略有不同,这就是为什么以某种方式分开存储的原因。)
也很高兴听到任何关于代码改进的建议,我是 python 的新手!
requests.get() 版本的信息
<div class="p-price">
<strong class="J-p-32965125681"></strong> <span>X <span class="J-buy-num"></span></span>
</div>
对比 右键单击 --> 检查信息版本
<div class="p-price">
<strong class="J-p-32965125681">¥3499.00</strong> <span>X <span class="J-buy-num"></span></span>
</div>
非常感谢!
顺便说一句,免责声明 robots.txt 说: 用户代理: * 不允许: /?* 而且我没有抓取任何带有“?”的页面。在他们的网址中...
【问题讨论】: