我在python web抓取中遇到错误
我为4个属性编写了一个代码来刮取数据,但我只从第一个字段“title”获取数据,其他3个字段返回空结果。谁能告诉我如何解决这个问题。谢谢 这是我的密码:我在python web抓取中遇到错误,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我为4个属性编写了一个代码来刮取数据,但我只从第一个字段“title”获取数据,其他3个字段返回空结果。谁能告诉我如何解决这个问题。谢谢 这是我的密码: import requests from bs4 import BeautifulSoup #import pandas as pd import csv def get_page(url): response = requests.get(url) if not response.ok: print('se
import requests
from bs4 import BeautifulSoup
#import pandas as pd
import csv
def get_page(url):
response = requests.get(url)
if not response.ok:
print('server responded:', response.status_code)
else:
soup = BeautifulSoup(response.text, 'html.parser') # 1. html , 2. parser
return soup
def get_detail_data(soup):
try:
title = soup.find('span',class_="text-info h4",id=False).find('strong').text
except:
title = 'empty'
print(title)
try:
add = soup.find('div',class_="col-xs-12 col-sm-4",id=False).find('strong')
except:
add = 'empty add'
print(add)
try:
phone = soup.find('div',class_="col-xs-12 col-sm-4",id=False).text
except:
phone = 'empty phone'
print(phone)
def main():
url = "https://www.dobsearch.com/people-finder/view.php?searchnum=287404084791&sessid=vusqgp50pm8r38lfe13la8ta1l"
get_detail_data(get_page(url))
if __name__ == '__main__':
main()
对于第二个类,您将给出一个在您想要的类之前出现的类,因此您需要更改该类或查看多个发现。第三次也是这样。这类类类(col-xs-12)是一些引导类,它们是常用的类,因此一般来说,它们不适合用于查找(或者您应该进行更复杂的查找)。正如我所看到的,这个站点没有太多独特的类,所以我认为您应该使用多个find方法来获得您想要的。我可以说的另一件事是不要使用try…除非你知道你从该部分得到了什么。你能声明你正在尝试处理网站的哪些部分吗?我只需要主标题(人名年龄(64))、主地址和主电话号码。所有这些信息都在每个记录的顶部。其他记录和电话号码不,我不需要,我只需要每个列表最上面一行的主要信息。谢谢谢谢你的建议,但是兄弟,我应该用哪种方法来收集数据呢?