我正在尝试抓取多个网站并将信息导出到.csv
或理想的.xslx
文件中。
到目前为止,我已经使用以下代码完成了一个站点的多个条目的爬取:
import requests
r = requests.get("https://www.company_name/our-portfolio-companies")
from bs4 import BeautifulSoup
doc = BeautifulSoup(r.text, "html.parser")
for company_headline in doc.select(".company_headline a"):
name = company_headline.text
for website in doc.select(".subinfo_website"):
website = website.text[19:]
结果是在Jupiter笔记本中列出了投资公司及其各自网站的列表。我采取了简单的方法,将信息直接复制/粘贴到Excel中,以便在那里进行进一步的修饰。
但是,我陷入了下一步。如果现在我要查找找到的每个〜400家投资组合公司的地址。首先,我需要找出隐藏该信息的位置。我的想法是要求Python使用添加的./contact-us
,./contact
,./about-us
等对每个〜400个站点执行ping操作,并列出它,以防它收到200条回复。
然后在下一步中,在HTML中搜索“ address:”之类的单词,然后复制字符串的后40个字母。
我在这里正确吗?有人可以帮助我,或者向我指出正确的方向,以便我可以阅读更多内容以弄清楚该怎么做吗?
答案 0 :(得分:0)
欢迎光临!这是一个奇怪的情况,我怀疑是否有明确的答案,但我会继续努力。
据我所知,您处在正确的轨道上。大多数网站的URL都与之匹配,但是这种方法在100%的时间内无法正常工作。您可以做的一件事是,为包含文本contact / contact us / etc的链接的页面(甚至页脚)抓取,以找到该联系人的URL,而不是希望它与您的猜测URL之一匹配。>