python网页数据抓取(你输出下str_data看看源代码中有你需要爬取的内容吗)

优采云 发布时间: 2022-01-04 10:03

  python网页数据抓取(你输出下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)

  

  如果有帮助,希望采纳!谢谢!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线