我正在制作一个程序,其中我正在废弃一个网页,并且内容从原始页面隐藏并用于显示自身
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/