爬取图片 糗事百科python爬虫

import requests
import re
import os

# 糗事百科热图主页
url = 'https://www.qiushibaike.com/imgrank/page/'

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}

piclist = []  # 用来存放每个图片的链接
html = ''  # 存放所有页面的代码





def get_html(url):  # 获取指定页数的源代码
    pages = 3  # 想要获取图片的页数
    html_txt = ''
    for page in range(pages):
        new_url = url + str(page + 1)
        response = requests.get(new_url, headers=headers)
        response.encoding = response.apparent_encoding
        html_txt = html_txt + response.text
    return html_txt


# 根据正则表达式匹配图片路径 并存储在piclist中
def find_pic(html, piclist):
    ex = '<div class="thumb">.*?src="(.*?)" alt.*?</div>'
    res = re.findall(ex, html, re.S)  # re.S使匹配过程中不会因换行导致匹配失败
    return res


# 存储图片数据到本地文件夹
def store_pic(src_list):
    mkdir(picpath)
    for src in src_list:  # 遍历图片链接列表 逐一保存图片到本地
        src = 'http:' + src
        img_data = requests.get(url=src, headers=headers).content  # 根据路径get到图片的二进制数据赋值给img_data
        path = './pic/' + src.split('/')[-1]
        # 将文件保存到本地
        with open(path, 'wb')as fp:
            fp.write(img_data)
            print(src[-20:], '下载成功')
def mkdir(path):
    folder = os.path.exists(path)

    if not folder:
        os.makedirs(path)
        print
        "---  new folder...  ---"
        print
        "---  OK  ---"

    else:
        print
        "---  There is this folder!  ---"
picpath = './pic'

html = get_html(url)
src_list = find_pic(html, piclist)
store_pic(src_list)

百度百科约500万条词条,可用于语义关联或简单的知识网络建立,xml格式,解压后638M,请不要用记事本直接打开,我是用UE打开的,sublime好像会有乱码,文件内容示例如下: =1 <TITLE>=百度百科 =百度,百度百科,网络,百科全书,百科词典 =百度知道;贴吧;百度空间;百度地图;百度新闻搜索;百度图片;百度mp3;百度Hi;百度工具栏;百度影视;百度邮编搜索;百度黄页搜索;百度杀毒;百度语音搜索;科利尔百科全书;苏联大百科全书;汇吃百科;维基百科;百度视频;百度蜘蛛;百度文库;互动百科;百度文档;百度文化共享搜索;百度盲道;百度会员;百度搜藏;百度TV;百科全书;知识掌门人;百度游戏;百度有啊;张震;科友; =http://baike.baidu.com/view/1.htm =2 <TITLE>=词条 =百度,百度百科 =相关词条; =http://baike.baidu.com/view/2.htm =3 <TITLE>=编辑实验 =百度,百度百科,帮助,词条,编辑 =词条;百度; =http://baike.baidu.com/view/3.htm =4 <TITLE>=馒头 =食品,饮食,面食,食谱,蒸馍 =大饼;油条;面包;饺子;花卷;包子;麻花;食品;主食;糯米饭;蛋糕;鲜肉包;米粥;面条;凉拌菜;年糕;饼干;窝头;粽子;烤饼;酥饼;汤圆;烧饼; =http://baike.baidu.com/view/4.htm =6 <TITLE>=雁荡山 =地理,旅游,旅游景点,自然景观,地质公园 =华山;泰山;普陀山;恒山;嵩山;莫干山;浣江;衡山;括苍山;双龙洞;雪窦山;天台山;天目山;楠溪江;天柱山;景宁香炉山;乌镇;杭州西湖;泽雅;白水洋;武夷山;洞宫山;桃花岛;三清山;黄山;新安江水库;崂山区;溪口;太姥山;南麂列岛;野鹤湫;庐山;江心屿;瑶溪;朱家尖;石桅岩;绍兴县;杨家溪;仙岩山;仙都风景区;大龙湫;三折瀑;五岳; =http://baike.baidu.com/view/6.htm =7 <TITLE>=灵峰 =风景,雁荡山,地理,旅游,温州 = =http://baike.baidu.com/view/7.htm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值