【发布时间】:2016-11-21 23:22:24
【问题描述】:
对于一个课外学校项目,我正在学习如何抓取网站。正如您在下面的代码中看到的那样,我可以从一页上刮下一个名为“elqFormRow”的表单。
如何在整个website 上刮掉所有出现的“elqFormRow”?我想将该表单所在位置的 URL 返回到列表中,但是这样做时遇到了麻烦,因为我不知道如何大声笑。
import bs4 as bs
import urllib.request
sauce = urllib.request.urlopen('http://engage.hpe.com/Template_NGN_Convert_EG-SW_Combined_TEALIUM-RegPage').read()
soup = bs.BeautifulSoup(sauce, 'lxml')
for div in soup.find_all('div', class_='elqFormRow'):
print(div.text.strip())
【问题讨论】:
-
如果我正确阅读了您的问题,您似乎想要的是蜘蛛。蜘蛛可能很复杂,但一般来说,您可以通过链接搜索页面上的其他链接,从该页面获取您想要的内容,然后按照 url 并重复某些深度/要求。如果您想从
urllib.request获取网址,您可以使用.geturl(),但您不能像现在这样使用您的变量,因为您使用了.read
标签: python web-scraping beautifulsoup