马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 一个账号 于 2020-3-7 19:06 编辑 import urllib.request
import urllib.parse
from bs4 import BeautifulSoup
class ZLspider(object):
url = 'https://sou.zhaopin.com/?'
def __init__(self, jl, kw, start_page, end_page):
self.jl = jl
self.kw = kw
self.start_page = start_page
self.end_page = end_page
# 拼接url 生成请求对象
def handle_request(self, page):
data = {
'p': page,
'jl': self.jl,
'kw': self.kw
}
headers = {
'user - agent': 'Mozilla / 5.0(Windows NT 10.0;WOW64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 69.0.3947.100Safari / 537.36'
}
url_now = self.url + urllib.parse.urlencode(data) #self.url
request = urllib.request.Request(url=url_now, headers=headers)
return request
# 解析内容函数
def parse_content(self, content):
#生成对象
soup = BeautifulSoup(content, 'lxml')
# 获取每一个职位信息
zhiwei_list = soup.select(".contentpile__content__wrapper clearfix")
print(zhiwei_list)
print(len(zhiwei_list))
# 爬取程序
def run(self):
# 循环爬取每一页数据
for page in range(self.start_page, self.end_page + 1):
request = self.handle_request(page)
# 发送请求,获取内容
content = urllib.request.urlopen(request).read().decode()
# 解析内容
self.parse_content(content)
def main():
# url所需要的相关参数
jl = input('请输入工作地点:')
kw = input('请输入工作职位:')
start_page = int(input('请输入起始页码:'))
end_page = int(input('请输入结束页码:'))
# 创建对象启动爬虫程序
spider = ZLspider(jl, kw, start_page, end_page)
spider.run()
if __name__ == '__main__':
main()
问题在def parse_content()中 我使用soup.selct('.contentpile__content__wrapper clearfix') 返回的列表是空值 麻烦大佬给看看
|