我正在尝试收集一个特定的链接,以便稍后在我的脚本中访问它,但是我正在爬行的页面上有很多链接,并且它们都具有相同的href标记。
如何具体选择一个?该网站是bbb.org,我的代码如下。
示例,在bbb上搜索lamps
,我想收集嵌入了商家名称的链接,以便稍后访问他们的个人资料。
#!/usr/bin/python
import requests
from bs4 import BeautifulSoup
def bbb_spider(max_pages):
bus_cat = raw_input('Enter a business category: ')
pages = 1
while pages <= max_pages:
url = 'http://www.bbb.org/search/?type=category&input=' + str(bus_cat) + '&page=' + str(pages)
sauce_code = requests.get(url)
plain_text = sauce_code.text
soup = BeautifulSoup(plain_text, "html.parser")
for link in soup.findAll('a'):
href = link.get('href')
print(href)
pages += 1
答案 0 :(得分:1)
您需要位于搜索结果表内的h4
元素内的链接。有不同的方式来达到它们,但我会做一个CSS selector:
soup.select("table.search-results-table tr h4 a")
答案 1 :(得分:0)
我创造了类似的东西。 看看我的爬虫示例。 https://github.com/shiva1791/Python_webcrawler
代码从link.csv获取需要解析的url。 解析页面上每个链接的所有逻辑都在webcrawler.py文件中。