美丽的汤返回HTML充满变量



我创建了一个连接到LinkedIn页面的链接列表。这些链接使用LinkedIns招聘机功能(在付费墙后面(进行了汇总。当我将链接粘贴到浏览器中并检查HTML代码时,它看起来是标准的,我可以轻松地ID我要搜索的元素(请参见下文(。

但是,当我运行python代码并使用美丽的汤来获取HTML时,回来的HTML看起来与浏览器的Inspect element element View上的外观看起来不像它的外观。而不是普通标签,HTML充满了变量,基本上看起来像我之前看过的(没有做很多刮擦(。

是否有可能获得看起来像我在浏览器上看到的东西而不是这个疯狂外观的东西的HTML?链接是使用Recurer搜索功能遵守的,因此我认为我以某种方式将HTML与搜索变量相比,而不是实际结果,但我真的不知道。

网页链接之一:https://www.linkedin.com/recruiter/profile/168561385,w0u7,cap?searchcontrollrolt = smartsearch&search&searchid 50E8-4F59-BA48-9DFF595E63E5%2COUBI& amp; searchRequestID = 8322C8E0-4B99-4D99-B860-1BDEF1653E8C%2CXSP11CXSP11 7%2CCAP

这是我用HTML创建文件的代码。我希望最后一行可以提取我正在寻找的数据,假设我可以获得正确的HTML。

#Used to create file
with open('departures.csv', mode='r') as csv_file:
    csv_reader = csv.DictReader(csv_file)
    for row in csv_reader:
        browser.get(row['link'])
        page = BeautifulSoup(browser.page_source, 'lxml')
        html = page.prettify()
        with open("output1.html", "w") as file:
            file.write(unicode(html))
    #Code I want to Run right now it just returns an empty list
    position = page.find_all('span', class_= 'keyword')

html我试图找到当我使用浏览器去链接时出现的出现:

<span class="keyword"> Account Manager</span>
Small Piece of Actual HTML returned: <code id="profile-data" style="display: none;">
<!--{"breadcrumbs":{"customSearchURL":"/recruiter/smartsearch? updateSearchHistory=false&decorateHits=true&decorateFacets=false&doFacetCounting=true&searchHistoryId=3392867616&resetFacets=false&searchCacheKey=f4b1a865-50e8-4f59-ba48-9dff595e63e5%2CoUbi&searchRequestId=4d25da0f-1f73-4722-8586-9652b3f98b97%2CQSZO&doResultCaching=false&forceResultFromCache=false&origin=PPSL&doProjectBasedCounting=false&count=25&start=700","linkContext":"Controller:smartSearch,Action:search,ID:3392867616","context":

LinkedIn使用大量JavaScript生成您在浏览器中看到的页面。开发人员工具中的DOM Element Inspector向您显示JS执行的当前结果,而不是浏览器下载的原始HTML页面。

要查看浏览器中的实际HTML页面源,请使用视图源(CTRL U或命令 U(。这应该显示HTML与您在Python中获得的相似。

如果您需要进行一些在最终生成的DOM输出上有效的刮擦,则可能需要使用可以执行JavaScript的无头浏览器,例如由Puppeteer控制的Chrome。

最新更新