|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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') 返回的列表是空值 麻烦大佬给看看
|
|