0
我已经写了一些代码,以针对某些商店名称刮取“地址”和“电话”,这些商店名称工作正常。但是,它有两个参数来执行它的活动。我希望从csv文件中做同样的事情,其中“名称”将在第一列,“盖”将在第二列,收获的结果将相应地放在第三和第四列。在这一点上,我不知道如何从csv文件执行搜索。任何建议将非常感激。无法从csv文件执行反向网页搜索
import requests
from lxml import html
Names=["Literati Cafe","Standard Insurance Co","Suehiro Cafe"]
Lids=["3221083","497670909","12183177"]
for Name in Names and Lids:
Page_link="https://www.yellowpages.com/los-angeles-ca/mip/"+Name.replace(" ","-")+"-"+Name
response = requests.get(Page_link)
tree = html.fromstring(response.text)
titles = tree.xpath('//article[contains(@class,"business-card")]')
for title in titles:
Address= title.xpath('.//p[@class="address"]/span/text()')[0]
Contact = title.xpath('.//p[@class="phone"]/text()')[0]
print(Address,Contact)
感谢zwer,你的答案。我刚才测试了你的代码,它的功能很神奇。你让我贪心。关于这个的最后一个问题。我如何将填充结果写入相应的列。我与csv一起工作,但都属于初级。谢谢万亿。 – SIM
你可以使用'csv.writer()'。尽管在技术上可行,但在读取文件时更新文件可能会导致受到伤害的世界,因此要么使用第一个示例来加载您的“Names”和“Leads”列表,然后在循环播放时重新写入CSV ,或创建临时CSV文件,向其中写入更新的内容,然后在完成循环后重写原始文件。有很多示例如何处理CSV阅读和写作:https://docs.python.org/3/library/csv.html – zwer
感谢您的一切。你节省了我数月的努力。 TC。 – SIM