鱼C论坛

 找回密码
 立即注册
查看: 2122|回复: 6

[已解决]从文件中读取数据,获取需要的内容并保存(爬虫)

[复制链接]
发表于 2020-10-15 17:17:36 | 显示全部楼层 |阅读模式
50鱼币
目的是获取window.__SEARCH_RESULT__ = 这里面的数据

怎么将里面的job_name等数据单个提出存储在字典里并保存
https://search.51job.com/list/000000,000000,7501,00,9,99,+,2,1.html?lang=c&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare=
这个是我下载源代码的网站


希望大佬可以帮帮忙,拯救一下爬虫萌新
给整吐了。。
最佳答案
2020-10-15 17:17:37
import requests
import re
import json

url='https://search.51job.com/list/000000,000000,7501,00,9,99,+,2,1.html?lang=c&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare='
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36 Edg/86.0.622.38'}
response=requests.get(url=url,headers=headers)
html_str=response.content.decode('gbk')
pattern=re.compile(r'window.__SEARCH_RESULT__ =(.*?)</script>')
data=pattern.findall(html_str)[0]
data=json.loads(data)
print(data)

ym.zip

17.76 KB, 下载次数: 0

文件在压缩包里

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-15 17:17:37 | 显示全部楼层    本楼为最佳答案   
import requests
import re
import json

url='https://search.51job.com/list/000000,000000,7501,00,9,99,+,2,1.html?lang=c&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare='
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36 Edg/86.0.622.38'}
response=requests.get(url=url,headers=headers)
html_str=response.content.decode('gbk')
pattern=re.compile(r'window.__SEARCH_RESULT__ =(.*?)</script>')
data=pattern.findall(html_str)[0]
data=json.loads(data)
print(data)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-16 13:34:08 | 显示全部楼层

data=pattern.findall(html_str)[0]这句的作用是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-16 13:49:12 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-16 13:54:35 | 显示全部楼层
温木zou 发表于 2020-10-16 13:34
data=pattern.findall(html_str)[0]这句的作用是什么?

re正则findall找到返回的是列表,也就找到一个元素,所以直接取索引0就是要找的数据
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-16 14:36:17 | 显示全部楼层
疾风怪盗 发表于 2020-10-16 13:54
re正则findall找到返回的是列表,也就找到一个元素,所以直接取索引0就是要找的数据

D:\work\数据清洗\1.png
那我可以像这样一样把里面的数据分成一个个列表单独提取出来吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-10-16 14:36:48 | 显示全部楼层
疾风怪盗 发表于 2020-10-16 13:54
re正则findall找到返回的是列表,也就找到一个元素,所以直接取索引0就是要找的数据

eee图片怎么上传
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-18 07:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表