为什么我返回的是一个空列表呀?

为什么我返回的是一个空列表呀?

import requests
from lxml import etree
import json

#我们要请求的URL,地点北京,第一页数据
url = 'https://search.51job.com/list/010000,000000,0000,00,9,99,python,2,1.html?lang=c&stype=&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&providesalary=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare='
# 获取网站的请求头 要注意空格的情况
header = {
"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"Accept-Encoding":"gzip, deflate, br",
"Accept-Language":"zh-CN,zh;q=0.9",
"Connection":"keep-alive",
# "Host":"search.51job.com",
# "Upgrade-Insecure-Requests":"1",
"User-Agent":"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Mobile Safari/537.36"
}

# 进行数据请求
response = requests.get(url=url, headers=header)
response.encoding = 'urf-8'
# print(response.text)
# 存放爬下来的文本数据 返回的是一个element 对象
html_51job = etree.HTML(response.text)
# print(html_51job)

# 单引号双引号要注意 获取职位列表
all_div = html_51job.xpath("//div[@id='resultList']//div[@class='el']")
print(all_div)

我是跟着老师的代码走的,不知道为什么,我打印出的结果确实一个空列表呢?这是为什么,网站都一样啊

/Users/carline/PycharmProjects/beautifulsoup/venv/bin/python /Users/carline/PycharmProjects/beautifulsoup/learning/hand_51job.py
[]

Process finished with exit code 0


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好:

同学的user-agent出现问题。

http://img1.sycdn.imooc.com//climg/5da9271109c6854212040051.jpg

是手机访问的请求头。我们使用的是浏览器的请求头。出现的正则匹配不同。

学习阶段介意按照老师的步骤,可以使用下面的user-agent即可:

"User-Agent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3610.2 Safari/537.36",

如果我解决了同学的问题,请采纳!学习愉快^_^。

  • hello_mygirl 提问者 #1
    我的是Mac版本,改成什么呢 不是windows
    2019-10-18 15:08:24
  • 好帮手乔木 回复 提问者 hello_mygirl #2
    同学你好:同学可以直接使用浏览器访问那个网址,找到请求头,将user-agent复制下来即可。学习愉快^_^。
    2019-10-18 16:04:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
4.入门主流框架Scrapy与爬虫项目实战
  • 参与学习           人
  • 提交作业       107    份
  • 解答问题       1672    个

Python最广为人知的应用就是爬虫了,有趣且酷的爬虫技能并没有那么遥远,本阶段带你学会利用主流Scrapy框架完成爬取招聘网站和二手车网站的项目实战。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师