爬虫

爬虫之 beautifulsoup

Beautiful Soup 3目前已经停止开发,推荐现在的项目使用Beautiful Soup 

利用beautiful 爬取

import requests

from bs4 import BeautifulSoup

import json

'''发送请求,获取响应的内容'''

headers = {

    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)      Chrome/63.0.3239.132 Safari/537.36',

}

base_url = 'https://hr.tencent.com/position.php'

keywords = input('输入职位:')

begin_page = int(input('起始页:'))

end_page = int(input('结束页:'))

job_list = []

for page in range(begin_page, end_page + 1):

    params = {

        'keywords': keywords,

        'start': (page - 1) * 10

    }

    print('%s爬取中...' % page)

    response1 = requests.get(url=base_url, params=params,headers=headers)

    content = response1.content

    # with open('./tencent-%s.html'%page, 'wb') as file:

    #    file.write(content)

    content = content.decode('utf-8')

    '''数据提取'''

    bs = BeautifulSoup(content,'lxml')

    # tr_list = bs.select('tr[class="odd"],tr[class="even"]')

    tr_list = bs.find_all(name='tr',attrs={'class':['even','odd']})

    for tr in tr_list:

        job={}

        job['job_name'] = tr.a.text.strip()

        job['job_href'] = tr.a['href']

        job['job_type'] = tr.find_all('td')[1].text.strip()

        job['job_person'] = tr.find_all('td')[2].text.strip()

        job['job_address'] = tr.find_all('td')[3].text.strip()

        job['job_time'] = tr.find_all('td')[4].text.strip()

        job_list.append(job)

#转成json            ensure_asci=False----默认是True,改成False,才能显示中文, ensure_ascii=False 来禁用ascii编码

#dump 和 dumps两种写法,

# job_json_string = json.dumps(job_list,ensure_ascii=False)

# with open('./tencent.json', 'w',encoding='utf-8') as file:

#    file.write(job_json_string)

json.dump(job_list,open('./tencent.json', 'w',encoding='utf-8'),ensure_ascii=False)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 《 利用 Python36,基于 Scrapy 框架的爬虫思路 》 (一)引言利用爬虫抓取网页数据已经是常见技能,...
    yannis_lau阅读 1,737评论 0 3
  • Spider类定义了如何爬取某个(或某些)网站。包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结...
    文子轩阅读 994评论 0 1
  • 嗨!人类,我是坏脾气先生!有人的地方就有我,我简直爱死了你们人类发脾气,可以产生超多负面能量,使我更加强大,去制造...
    卓不念阅读 390评论 0 0
  • 跨年是有神奇能量的吗?入8以来对我来说一切都变了…… 1号:和姐妹淘跑常熟买衣服,淘到一套套裙(柔美之致),这...
    行走的蜜糖阅读 369评论 1 4
  • 肮脏的雨水打在公车上的玻璃 烙下了夏末卑微的记忆 入秋得了癌症的蚊子 用尽全身力气 吮吸着像极了人肌理的推窗玻璃 ...
    若翘阅读 217评论 0 1

友情链接更多精彩内容