【发布时间】:2019-10-23 16:52:37
【问题描述】:
我是使用 Python 进行 Web Scraping 的绝对初学者,并且对 Python 编程知之甚少。我只是想提取田纳西州律师的信息。在网页中,有多个链接,其中还有更多关于律师类别的链接,其中还有律师的详细信息。
我已经将各个城市的链接提取到一个列表中,并且还提取了每个城市链接中可用的各种律师类别。现在我正在尝试获取每个城市的每个类别下的每个律师的个人资料链接,我将从那里检索律师的详细信息。但是正在返回空列表。可以做什么。如果可能的话建议。
import requests
from bs4 import BeautifulSoup as bs
import pandas as pd
res = requests.get('https://attorneys.superlawyers.com/tennessee/', headers = {'User-agent': 'Super Bot 9000'})
soup = bs(res.content, 'lxml')
cities = [item['href'] for item in soup.select('#browse_view a')]
for c in cities:
r=requests.get(c)
s1=bs(r.content,'lxml')
categories = [item['href'] for item in s1.select('.three_browse_columns:nth-of-type(2) a')]
#print(categories)
for c1 in categories:
r1=requests.get(c1)
s2=bs(r1.content,'lxml')
lawyers = [item['href'] for item in s2.select('.directory_profile a')]
print(lawyers)
“我希望输出是每个类别的律师的每个个人资料的链接,但它返回的是空列表。”
“[][][][][][][]”
【问题讨论】:
-
是的,我已经单独打印了城市和类别列表,并且它正在正确打印列表。
-
categories返回空 -
如果你删除第 n 个类型它可以工作,看看那个
标签: python web-scraping beautifulsoup