js抓取网页内容(爬104人力银行网页内容时,遇到定位标签找不到内容)
优采云 发布时间: 2021-09-10 19:04js抓取网页内容(爬104人力银行网页内容时,遇到定位标签找不到内容)
大家好,我是爬虫初学者。练习爬取104人行网页内容时,遇到“位置标签中找不到内容”的问题,请帮我解决。
你要抓取的网页url:()
要抓取的网页内容:“条件”中“工作技能”的内容
使用的编程语言:Python 3
使用包:requests, BeautifulSoup
附加代码:(@ellieytc/ProperFrigidZettabyte)
下图是anaconda jupyter notebook的环境截图:
我遇到的问题是:
打印(soup)后,发现返回的html文档内容中没有“条件要求”大块的文字内容,但是回到“开发者工具”看,有“条件要求”需求”块找到文件中的标签和文本内容。
“开发者工具”界面如下:
所以我尝试定位标签并编写语法:
'''jobs = soup.select('div.job-requirement> p> span> a> u')'''
但返回的是一个空集合。
试试google和解决问题的思路:
select() 中的标签语法有错吗?如果是,则应打印属性错误。 (os:这不是问题!)返回一个空集合,是不是说明定位不对,没有抓到数据?所以我试着把它改成``'jobs = soup.select('div')''',但是它返回了一堆div标签,但是没有“文本”内容。 (os:嗯,可能是定位错误!但是不知道怎么回事?)“print(soup)”后,发现里面没有“条件要求”的大块文字内容返回的html文档;但是里面全是前一块“工作内容”的文字,很奇怪!于是我在谷歌上搜索:爬虫抓不到标签,发现如下情况:
-动态网页的问题。 (os:但我的是静态网页,不是这个问题!)
-要抓取的内容是用javascript写的,所以不会在html文档中呈现。 (os:不知道是什么意思?那为什么在css中可以找到标签?)
<p>-反爬虫。 (os:但是我爬进去了,为什么只有“条件”这个块找不到?是隐藏的吗?如果隐藏了,但是找到了标签,为什么抓不到??)