javascript - 抓取 JavaScript :void(0) content using python

标签 javascript python web-scraping

我正在制作一个程序,其中我正在废弃一个网页,并且内容从原始页面隐藏并用于显示自身 herf = javascript:void(0) 链接和文本位于 <p>然后<span>标签。

这是我的代码:

import requests, re
from bs4 import BeautifulSoup

page = requests.get('https://www.naukri.com/job-listings-Python-Developer- 
Cloud-Analogy-Softech-Pvt-Ltd-Noida-Sector-63-Noida-1-to-2-years- 
250718003152?src=rcntSrchWithoutCount&sid=15327965116011&xp=1&px=1&qp=python%20developer&srcP%
20ge=s').text
soup = BeautifulSoup(page, 'html.parser')
link = soup.find('div', {'class':'jDisc 
viewContact'}).find_all(re.compile('p|em|span'))
results = [i.text for i in link]
print(results)

HTML 页面在这里:

<a href="javascript:void(0)" class="mt30 dspB f14 lH20"
id="viewCont_trg">View Contact Details</a>

点击链接“查看联系方式详细信息”后,它将显示所有隐藏的内容。你能帮我解决这个问题吗?

最佳答案

加载页面时,联系方式详细信息不在网页上。单击“查看联系方式详细信息”后,网页会发出一个新请求来获取联系方式详细信息。

为了找出从哪个 URL 获取联系人详细信息,您可以打开 Firefox 或 Chrome,然后使用右键单击 > 检查元素(或只需按 F12)打开调试器。然后转到网络选项卡。单击“查看联系方式”并查看其提出的请求。我已经检查过它,它获取详细信息的网址是“https://www.naukri.com/jd/contactDetails?file=250718003152 ”。您可以从原始url“https://www.naukri.com/job-listings-Python-Developer-”获取文件id,即250718003152 云-类比-Softech-Pvt-Ltd-Noida-Sector-63-Noida-1-2-year- 250718003152?src=rcntSrchWithoutCount&sid=15327965116011&xp=1&px=1&qp=python%20developer&srcP% 20ge=s”。

因此,您所要做的就是使用 urllib 或您正在使用的任何内容向 url“https://www.naukri.com/jd/contactDetails?file=250718003152”发出新的 get 请求。响应将采用 json 格式。您必须解析 json 并提取所需的字段。

关于javascript - 抓取 JavaScript :void(0) content using python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51591849/

相关文章:

python - 有没有办法找到一个字符串中某个标签的所有索引,相对于删除标签的同一个字符串?

python - Docker hyperkit 进程 CPU 使用率变得疯狂。如何控制它?

javascript - 如何查看我的机器人当前所在(已加入)的语音 channel 的大小?

javascript - jQuery 分页插件,适用于奇怪的页面结构

javascript - 为什么 `document.getElementById(“#datepicker1” )` 找不到我的元素?

python - 在 Python 中遍历没有命名空间的 XML 树

python - 使用 conda 环境在 VS code 中部署 Azure Functions

ruby-on-rails - 未定义的方法 'click' 为 nil :NilClass (Mechanize)

javascript - CasperJS 后退导航不起作用

javascript - 如何将现有 ul 的所有 li 添加到另一个基于其 css 类的 ul 的底部