Python BeautifulSoup返回的网页与我的不同

2024-09-27 21:23:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我对网页抓取和python都很陌生,所以如果这是一个愚蠢的问题,我会提前道歉。你知道吗

url=https://infoweb.newsbank.com/apps/news/results?sort=YMD_date%3AD&p=AWNB&t=&maxresults=20&f=advanced&b=results&val-base-0=January%201%2C%202005&fld-base-0=YMD_date&bln-base-1=and&val-base-1=drone%2C%20unmanned%20aerial%20vehicle%2C%20UAV&fld-base-1=alltext
page = requests.get(url, allow_redirects=True)
allcont = BeautifulSoup(page.text, 'html.parser')
allcont.find_all('div',class_="search-hits__meta--total_hits")

当我在浏览器中输入url时,我会被引导到一个页面,上面有2005年1月1日AccessWorldNews网站上关键字“drone”的搜索结果。我感兴趣的元素是返回的结果的数量——在本例中是2,可以通过“div”来分隔,class=“search-hits\uu meta--total\u hits”。你知道吗

然而,beautifulsoup找到的网页内容与我在浏览器中看到的完全不同。看看文本,它似乎是一个中间网页,用户在其中输入用户名和密码,但有趣的是,我似乎从来没有把任何用户名和密码,以访问上述网址。你知道吗

我很想了解如何让beautifulsoup转到与我将url放入浏览器时看到的页面相同的页面。非常感谢您的帮助!你知道吗


Tags: divurl网页basepage浏览器val页面
1条回答
网友
1楼 · 发布于 2024-09-27 21:23:21

您提供的URL将为任何外部访问者加载用户登录页。所以BeautifulSoup(BS)也会给你该页面的html。要获得登录后找到的搜索结果,需要首先登录到该页面,然后在该页面中使用BS解析器。但是BS不支持登录。相反,可以使用selenium实现浏览器自动化,通过selenium执行登录,还可以获得登录页面的html。请参阅selenium中的get\u attribute()。你知道吗

相关问题 更多 >

    热门问题