python网页数据抓取(你输出下str_data看看源代码中有你需要爬取的内容吗)
优采云 发布时间: 2022-01-04 10:03python网页数据抓取(你输出下str_data看看源代码中有你需要爬取的内容吗)
你输出str_data看看源码里有没有需要爬取的东西
你通过js代码读取外部json数据来检查这个网页的内容是否动态更新。
请求只能获取网页的静态源代码,不能获取动态更新的内容。
对于动态更新的内容,使用 selenium 进行爬取。
或者通过F12控制台分析加载页面数据的链接,找到真正的json数据的地址进行爬取。
右键单击页面,在右键菜单中选择“查看网页源代码”。
这是网页的静态源代码。
如果本网页的静态源代码中有需要爬取的内容,则说明该页面没有动态内容,可以通过请求进行爬取。
否则就意味着页面内容是动态更新的,需要用selenium来爬取。
您的问题的答案代码如下:
from selenium import webdriver
import time
import json
from lxml import etree
driver = webdriver.Chrome()
# 确定url
url = "https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,1.html?"
# 用户代理,cookie请求
driver.get(url)
time.sleep(5)
str_data = driver.page_source
# 数据提取
html_ = etree.HTML(str_data)
# 职位
name_ = html_.xpath("/html/body/div[2]/div[3]/div/div[2]/div[4]/div[1]/div/a/p[1]/span[1]/text()")
# 工资
print(name_)
salary = html_.xpath("/html/body/div[2]/div[3]/div/div[2]/div[4]/div[1]/div/a/p[2]/span[1]/text()")
print(salary)
dict_ = {}
for i in range(len(name_)):
dict_[name_[i]] = salary[i]
print(dict_)
with open("前程无忧.json", 'w',encoding="gbk") as f:
json.dump(dict_,f,ensure_ascii=False)
如果有帮助,希望采纳!谢谢!