python爬虫学习(1)__抓取煎蛋图片

#coding=utf-8
#python_demo 爬取煎蛋妹子图在本地文件夹
import requests
import threading
import time
import os
from bs4 import BeautifulSoup
#伪造头文件
headers = {
    ‘User-Agent‘: ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36‘,
    ‘Accept-Encoding‘: ‘gzip‘,
    ‘Cookie‘: ‘1024679722=aada4mZxRMxqvInd7D6PSgq%2FIkpGFeGlZWAH1gqP8Q; __auc=57bffd35154a91de3cd5d3b1ddb; 1024679722=ebeaLZUFikSR1OE6lm5MJYJSV0V1DbcooxQr0CHu; jdna=596e6fb28c1bb47f949e65e1ae03f7f5#1467948344088; Hm_lvt_fd93b7fb546adcfbcf80c4fc2b54da2c=1467001661,1467189261,1467685014,1467857178; Hm_lpvt_fd93b7fb546adcfbcf80c4fc2b54da2c=1467948345; _ga=GA1.2.1739476572.1438849462; _gat=1‘}
def saveImgs(*allUrl):
    if not os.path.exists(‘/home/zhanyunwu/jiandanpic‘):
        os.mkdir(‘/home/zhanyunwu/jiandanpic‘) #在本地新建文件夹
    print allUrl
    if len(allUrl)!=0:
        print ‘当前页面有‘, len(allUrl), ‘张图片即将下载‘
        for l in allUrl:
            filename=‘/home/zhanyunwu/jiandanpic/‘+parseName(l)
            saveImg(l,filename)
            time.sleep(1)
    else:
        print ‘当前页面无图片下载‘
def saveImg(url,filename):
    print ‘当前图片url:‘,str(url),‘当前图片名称‘,filename
    # u=urllib2.urlopen(url)
    # data=u.read()
    reponse=requests.get(str(url),headers=headers)
    image=reponse.content
    # f=open(filename,‘wb‘)
    with open(filename,‘wb‘) as f:
        f.write(image)

def parseName(url):
    u=str(url).split(‘.‘)
    filename=str(url)[30:55]+‘.‘+u[-1]
    return filename
#getallImgUrl
def getAllImgUrl(url):
    allurl = []
    req=requests.get(url,headers=headers)
    # print req.status_code
    if req.status_code !=200:
        return allurl
    soup=BeautifulSoup(req.content,"lxml")
    links=soup.select(‘ol.commentlist img‘)
    print links
    for l in links:
        allurl.append(l.attrs.get(‘src‘))
    return allurl
#多线程爬取
def crawler(n,m):
    for l in range(n,m):
        url = ‘http://jandan.net/ooxx/page-‘ + str(l) + ‘#comments‘
        u=getAllImgUrl(url)
        saveImgs(*u)
c1=threading.Thread(target=crawler,args=(1850,1900))
c2=threading.Thread(target=crawler,args=(1950,2000))
c3=threading.Thread(target=crawler,args=(2001,2064))
c1.start()
c2.start()
c3.start()
c1.join()
c2.join()
c3.join()
print ‘success‘

  

时间: 2024-10-29 19:09:54

python爬虫学习(1)__抓取煎蛋图片的相关文章

python爬虫学习(2)__抓取糗百段子,与存入mysql数据库

import pymysql import requests from bs4 import BeautifulSoup#pymysql链接数据库 conn=pymysql.connect(host='127.0.1',unix_socket='/tmp/mysql.sock',user='root',passwd='19950311',db='mysql') cur=conn.cursor() cur.execute("USE scraping") #存储段子标题,内容 def st

Python 爬虫学习3 -简单抓取小说网信息

小说网 https://www.qu.la/paihangbang/ 功能:抓取每个排行榜内的小说名和对应链接,然后写入excel表格里面. 按F12 审查页面元素可以得到你所要的信息的class,从而来定位. 具体看代码讲解吧. #coding:utf-8 #为了正常转码 必写 import codecs #为下面新建excel,转码正确准备得一个包 __author__ = 'Administrator' import requests from bs4 import BeautifulSo

Python爬虫实战四之抓取淘宝MM照片

福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 最新动态 更新时间:2015/8/2 最近好多读者反映代码已经不能用了,原因是淘宝索引页的MM链接改了.网站改版了,URL的索引已经和之前的不一样了,之前可以直接跳转到每个MM的个性域名,现在中间加了一个跳转页,本以为可以通过这个页面然后跳转到原来的个性域名,而经过一番折腾发现,这个跳转页中的内容是JS动态生成的,所以不能用Urllib库来直接抓取了,本篇就只提供学习思路,代码不能继续用了. 之后博主会利用其它方

[Java]使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图

  第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到”煎蛋网xxoo”网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保存至本地. 先放结果: 从程序来讲,步骤分为三步: 1.发起一个http请求,获取返回的response内容: 2.解析内容,分离出有效图片的url: 3.根据这些图片的url,生成图片保存至本地. 开始详细说明: 准备工作:HttpClient的Jar包,访问http://hc.apache.org/   自行下

python爬虫beta版之抓取知乎单页面回答(low 逼版)

闲着无聊,逛知乎.发现想找点有意思的回答也不容易,就想说要不写个爬虫帮我把点赞数最多的给我搞下来方便阅读,也许还能做做数据分析(意淫中--) 鉴于之前用python写爬虫,帮运营人员抓取过京东的商品品牌以及分类,这次也是用python来搞简单的抓取单页面版,后期再补充哈. #-*- coding: UTF-8 -*- import requests import sys from bs4 import BeautifulSoup #------知乎答案收集---------- #获取网页body

用python来抓取“煎蛋网”上面的美女图片,尺度很大哦!哈哈

废话不多说,先上代码: import urllib.request import re #获得当前页面的页数page_name def get_pagenum(url): req = urllib.request.Request(url) req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safar

Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容

在上一篇python使用xslt提取网页数据中,要提取的内容是直接从网页的source code里拿到的. 但是对于一些Ajax或动态html, 很多时候要提取的内容是在source code找不到的,这种情况就要想办法把异步或动态加载的内容提取出来. python中可以使用selenium执行javascript,selenium可以让浏览器自动加载页面,获取需要的数据.selenium自己不带浏览器,可以使用第三方浏览器如Firefox, Chrome等,也可以使用headless浏览器如P

[Python爬虫] 之四:Selenium 抓取微博数据

抓取代码: # coding=utf-8import osimport refrom selenium import webdriverimport selenium.webdriver.support.ui as uifrom selenium.webdriver.common.keys import Keysimport timefrom selenium.webdriver.common.action_chains import ActionChainsimport IniFileclas

Python爬虫抓取煎蛋(jandan.net)无聊图

1 #!/usr/bin/python 2 #encoding:utf-8 3 ''' 4 @python 3.6.1 5 @author: [email protected] 6 @create date: 20170611 7 8 ''' 9 import requests 10 import urllib 11 import re 12 import os 13 14 #当前最大页数 15 url='http://jandan.net/pic' 16 data=urllib.request