gpt4 book ai didi

Python 网页抓取 'None'

转载 作者:行者123 更新时间:2023-12-04 10:10:47 25 4
gpt4 key购买 nike

我正在尝试从站点中抓取事件数据 https://10times.com/losangeles-us/technology/conferences .

下面的代码继续抓取主登陆页面上的事件数据和事件链接。

import pandas as pd
import bs4 as bs
import urllib.request

source = urllib.request.urlopen('https://10times.com/losangeles-us/technology/conferences').read()
soup = bs.BeautifulSoup(source,'html.parser')

aa = []
bb = []

#---Get Event Data---
table = soup.find('tbody')
table_rows = table.find_all('tr') #find table rows (tr)
for x in table_rows:
data = x.find_all('td') #find table data
row = [x.text for x in data]
if len(row) > 2: #Exlcudes rows with only event name/link, but no data.
aa.append(row)
df_event = pd.DataFrame(aa, columns=['Date', 'Event Name', 'Venue', 'Description', 'Type', 'Unnamed:'])
df_event.columns = ['Date', 'Event Name', 'Venue', 'Description', 'Type', 'Interested/Following Count']

#---Get Links---
h2 = soup.find_all('h2')
for i in h2:
links = i.a['href']
bb.append(links)
df_link = pd.DataFrame(bb)
df_link.columns = ['Links']

#---Combines dfs---#
df = pd.concat([df_event,df_link],sort=False, axis=1)
df.index += 1

#--Export to HTML---
df.to_html('10times_Scrape.html',render_links=True)

我现在想要转到我拉取的每个事件链接并抓取页面上的地址/完整事件描述。 示例链接: https://10times.com/microsoft-business-applications-summit-anaheim

事件描述和地址都可以在 P 标签中找到。但是,当我阅读链接时,我只是返回 None 的 .. 我在下面使用了正确的 div 类?我究竟做错了什么?我想查看 'class':'col-md-6' 并提取地址。
#---Get Address---
for i in bb:
soup2 = bs.BeautifulSoup(i, 'html.parser')
text2 = soup2.find('div', attrs={'class':'col-md-6'})
print(text2)

最佳答案

好像你错过了 urllib获取内部链接。

#---Get Address---
for i in bb:
inner_source = urllib.request.urlopen(i).read()

soup2 = bs.BeautifulSoup(inner_source, 'html.parser')
text2 = soup2.find('div', 'col-md-6')
print(text2)

还有 find/ find_all您可以传递一个类作为第二个位置参数。并且只是为了强制执行 find即使有很多,也只会返回第一次出现。

关于Python 网页抓取 'None',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61349391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com