【发布时间】:2020-03-23 00:22:50
【问题描述】:
我编写了一个简单的代码来抓取标题、地址、联系人、电话号码和网站链接,但我的程序只是抓取标题,我不知道如何抓取所有其他内容,因为它们没有类和 ID。
这是我的代码:
import requests
from bs4 import BeautifulSoup
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')
return soup
def get_detail_data(soup):
try:
title = soup.find('a',class_="ListingDetails_Level1_SITELINK",id=False).text
except:
title = 'empty'
print(title)
try:
address = soup.find('div',class_="ListingDetails_Level1_CONTACTINFO",id=False).find_all('span').text
except:
address = "address"
print(address)
try:
person_name = soup.find('a',class_="",id=False).find_all('img').text
except:
person_name = "empty person"
print(person_name)
try:
phone_no = soup.find('img',class_="",id=False).text
except:
phone_no = "empty phone no"
print(phone_no)
try:
website = soup.find('a',class_="",id=False).text
except:
website = "empty website"
print(website)
def main():
url = "https://secure.kelownachamber.org/Pools-Spas/Rocky%27s-Reel-System-Inc-4751"
#get_page(url)
get_detail_data(get_page(url))
if __name__ == '__main__':
main()
【问题讨论】:
-
能否也发一个数据示例?
-
你能把网站或html的链接贴在这里吗?
-
@Gauri Shankar Badola 这里是链接:secure.kelownachamber.org/Pools-Spas/…
-
@M.Akram 如果你能添加一些关于你的previous question的反馈,那就太好了
标签: python web-scraping beautifulsoup