Python美化组查找元素

Python美化组查找元素,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,我试图从网站中查找标题、日期和链接,我使用: html_link = 'https://xueqiu.com/u/4357540281' html = requests.get(html_link).text soup = BeautifulSoup(html, 'html.parser') boxes=soup.select("timeline__item__main") search = re.compile("今天") data = [] for

我试图从网站中查找标题、日期和链接,我使用:

html_link = 'https://xueqiu.com/u/4357540281'
html = requests.get(html_link).text
soup = BeautifulSoup(html, 'html.parser')
boxes=soup.select("timeline__item__main")
search = re.compile("今天")
data = []  
for box in boxes:
    print(box)
    titles = box.find("span").getText()
    dates = box.find("a").getText().replace(", ", " ")
    links = f'https://xueqiu.com/{box.find("a")["href"]}'  
    print(titles,dates,links)     
    for text in box.find_all("a",text=search):
        names = text.text
        data.append([titles, dates, names, links])
dataframe = pd.DataFrame(data, columns=['Titles', 'Dates', 'Names', 'Links'])
但返回的是空数据帧,如果代码出现问题,有人能帮忙吗?
非常感谢

您可以使用端点获取用户时间线数据

以下是方法:

导入请求
将requests.Session()作为连接:
connection.headers[“User Agent”]=“Mozilla/5.0(Macintosh;Intel Mac OS X 10_15_7)AppleWebKit/537.36(KHTML,如Gecko)Chrome/89.0.4389.86 YaBrowser/21.3.0.740 Yowser/2.5 Safari/537.36”
_=连接。获取(“https://xueqiu.com")
用户\时间线=连接。获取(“https://xueqiu.com/v4/statuses/user_timeline.json?page=1&user_id=4357540281json()
对于用户时间线[“状态”]中的状态:
印刷品(
“\n”。加入(
[
状态[“时间之前”],
状态[“标题”],
f'https://xueqiu.com{状态[“目标”]},
]
)
)
输出:

今天 16:49
标普:予金科地产(000656.SZ)拟发行美元高级票据“B+”评级
https://xueqiu.com/4357540281/180404598
今天 16:42
惠誉:首予中裕燃气(03633.HK)“B+”长期外币发行人评级,展望“正面”
https://xueqiu.com/4357540281/180403813
今天 15:52
惠誉:予国任保险“BBB+”长期发行人评级,展望“稳定”
https://xueqiu.com/4357540281/180398328
今天 15:27
惠誉:确认中航资本(600705.SH)“A-”长期发行人信用评级,展望“稳定”
https://xueqiu.com/4357540281/180394785
今天 15:10
惠誉:确认中国船舶租赁(03877.HK)“A”长期发行人评级,展望“稳定”
https://xueqiu.com/4357540281/180392812
今天 15:05
惠誉:确认招商租赁“BBB+”长期发行人评级,展望“稳定”
https://xueqiu.com/4357540281/180391975
今天 14:54
惠誉:确认中航国际租赁长期发行人评级为“A-”,展望“稳定”
https://xueqiu.com/4357540281/180390295
今天 14:32
中裕燃气(03633.HK)拟发行美元票据,今日起召开投资者电话会议
https://xueqiu.com/4357540281/180386999
今天 14:26
国任保险拟发行两笔高级无抵押票据,今日起召开投资者电话会议
https://xueqiu.com/4357540281/180386012
今天 14:13
金科股份(000656.SZ)拟发行美元票据,今日起召开投资者电话会议
https://xueqiu.com/4357540281/180384058
今天 13:48
长兴城投拟发行3年期绿色美元债券,初始价2.8%区域,徽商银行(03698.HK)提供SBLC
https://xueqiu.com/4357540281/180380623
今天 11:53
南宁交投集团拟发行3年期美元高级票据,初始价3.90%区域
https://xueqiu.com/4357540281/180367887
今天 11:07
惠誉:出于商业原因,撤销朗诗地产(00106.HK)“B”长期外币发行人评级
https://xueqiu.com/4357540281/180361023
今天 11:02
惠誉:首予济南高新控股“BBB”长期本外币发行人评级,展望“稳定”
https://xueqiu.com/4357540281/180360220
今天 09:57
天誉置业(00059.HK)拟对SKYFAM 13 12/16/23进行增发,最终指导价13%
https://xueqiu.com/4357540281/180346688
05-19 14:40
标普:予江苏沙钢集团“BBB-”长期发行人信用评级,展望“稳定”
https://xueqiu.com/4357540281/180271248
05-19 14:35
惠誉:出于商业原因,撤销金轮天地(01232.HK)“CCC+”长期本外币发行人评级
https://xueqiu.com/4357540281/180270515
05-19 14:10
惠誉:确认中国交建(01800.HK)“A-”长期外币发行人评级,展望“稳定”
https://xueqiu.com/4357540281/180267003
05-19 10:19
惠誉:上调金鹰商贸集团(03308.HK)长期发行人评级至“BB+”,展望“稳定”
https://xueqiu.com/4357540281/180237685
05-19 10:09
标普:下调温氏股份(300498.SZ)发行人信用评级至“BBB-”,展望“稳定”
https://xueqiu.com/4357540281/180235626


如果您尝试在“文本输入”框中打印(标题、日期、链接、名称)),您会看到什么。全部查找(“a”,text=search):?整个页面都在
JavaScript
后面,因此您无法从源
HTML
中获得所需内容。好的,谢谢。嗨,谢谢您的帮助!我可以知道为什么我的代码不起作用吗?如果我还需要日期和链接,那该怎么办?正如我在你问题下的评论中所说,你的代码不起作用,因为整个网站都在
JavaScript
,这意味着你没有得到你认为你得到的HTML。非常感谢你的帮助!如何识别Javascript?或者,这是可能的使用硒?抱歉,还有一个问题,我能否在以下条件下设置仅返回数据:
Timebefore
=今天?这只是一个示例代码,所以你可以用它做任何你想做的事情。谢谢!但是我不熟悉Java,我应该使用
status[“timeBefore”:今天']