python学习笔记之七[斗图网爬虫]

知识点:lxml,Xpath语法,bsp,threading
爬取 斗图网的图片 https://www.doutula.com/article/list?page=1

# coding:utf-8
import requests
import threading # 多线程处理与控制
from lxml import etree # 解析网页
from bs4 import BeautifulSoup #

# 打开网页 获取源码
def get_html(url):
   # url='https://www.doutula.com/article/list?page=2'
    headers = {'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}
    request = requests.get(url=url,headers=headers)
    response = request.content
    # print response
    return response

# 从主页获取斗图的每一个url 获取源码
def get_img_html(html):
    soup = BeautifulSoup(html,'lxml') # c创建一个对象
    all_a=soup.find_all('a',class_="list-group-item") # 过滤 下划线 class_ 区分关键字
    for i in all_a:
        img_html = get_html(i['href'])#找到超链接
        # print img_html
        get_img(img_html)

# 获取每个图片
def get_img(html):
    soup = etree.HTML(html) # 初始化打印源码,自动补全
    items = soup.xpath('//div[@class="artile_des"]') # 解析网页方法 // 选择 , 【】 条件, @
    for item in items:
        imgurl = item.xpath('table/tbody/tr/td/a/img/@onerror')
        start_save_img(imgurl)

# 下载图片
def save_img(img_url):
    img_url = img_url.split('=')[-1][1:-2].replace('jp','jpg')
    print u'正在下载'+'http:'+img_url
    img_content = requests.get('http:'+img_url).content
    with open('doutu/%s.jpg'% img_url.split('/')[-1],'wb') as f:
        f.write(img_content)

# 多线程
def  start_save_img(imgurl_list):
    for i in imgurl_list:
        th = threading.Thread(target=save_img,args=(i,))
        th.start() # 启动线程

# 多页
def main():
    start_url = 'https://www.doutula.com/article/list?page='
    for i in range(1,50):
        start_html = get_html(start_url.format(i)) # 获取外面的url
        get_img_html(start_html) # 获取内页的url

if __name__ == '__main__': # 判断文件入口
    main()

#main()

知识点总结

2017-04-12

python 2 编辑器:pycharm中文
python 库:requests,lxml,bs4(beautifulsoup 4) 自带 threading 多线程处理与控制
安装使用pip install 安装

python 开发网站:豆瓣,知乎,谷歌,果壳,YouTube。。。
优点:代码少,开发效率高,拥有大量第三方库
方向:1.web后台开发
2.自动化运维、测试
3.大数据 数据分析 挖掘 采集
4机器学习
5人工智能
6科学技术运算
7 树莓派 发射wifi 机械手臂
8 云计算。。。

课题:多线程爬取斗图网站

1.网站禁止爬虫
headers 添加
模拟浏览器
找到 user_agent 方法: f12 ---network---f5---name ---headers---user_agent

onerror="this.src='//img.doutula.com/production/uploads/image/2017/04/12/20170412979281_sEfqWn.jpg'"

插件安装记录

C:\Users\wang>pip list
You are using pip version 7.0.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
lxml (3.7.3)
pip (7.0.1)
setuptools (16.0)

C:\Users\wang>pip install beautifulsoup
You are using pip version 7.0.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting beautifulsoup
  Downloading BeautifulSoup-3.2.1.tar.gz
Installing collected packages: beautifulsoup
  Running setup.py install for beautifulsoup
Successfully installed beautifulsoup-3.2.1

C:\Users\wang>pip install beautifulsoup4
You are using pip version 7.0.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting beautifulsoup4
  Downloading beautifulsoup4-4.5.3-py2-none-any.whl (85kB)
    38% |████████████▎                   | 32kB 8.5kB/s eta 0:00:0
    43% |█████████████▉                  | 36kB 9.5kB/s eta 0:00:
    48% |███████████████▍                | 40kB 10kB/s eta 0:00
    52% |█████████████████               | 45kB 10kB/s eta 0:0
    57% |██████████████████▌             | 49kB 11kB/s eta 0
    62% |████████████████████            | 53kB 11kB/s eta
    67% |█████████████████████▌          | 57kB 11kB/s et
    72% |███████████████████████         | 61kB 12kB/s e
    76% |████████████████████████▋       | 65kB 12kB/s
    81% |██████████████████████████▏     | 69kB 12kB
    86% |███████████████████████████▊    | 73kB 22k
    91% |█████████████████████████████▎  | 77kB 2
    96% |██████████████████████████████▉ | 81kB
    100% |████████████████████████████████| 86k
 20kB/s
Installing collected packages: beautifulsoup4
Successfully installed beautifulsoup4-4.5.3

C:\Users\wang>pip install requests
You are using pip version 7.0.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting requests
  Using cached requests-2.13.0-py2.py3-none-any.whl
Installing collected packages: requests
Successfully installed requests-2.13.0

C:\Users\wang>pip list
You are using pip version 7.0.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
BeautifulSoup (3.2.1)
beautifulsoup4 (4.5.3)
lxml (3.7.3)
pip (7.0.1)
requests (2.13.0)
setuptools (16.0)

C:\Users\wang>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,612评论 5 471
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,345评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,625评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,022评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,974评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,227评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,688评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,358评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,490评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,402评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,446评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,126评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,721评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,802评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,013评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,504评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,080评论 2 341

推荐阅读更多精彩内容