一个简单的Python网络爬虫(抓图),针对某论坛.

 1 #coding:utf-8
 2 import urllib2
 3 import re
 4 import threading
 5
 6 #图片下载
 7 def loadImg(addr,x,y,artName):
 8     data = urllib2.urlopen(addr).read()
 9     f = open(artName.decode("utf-8")+str(y)+‘.jpg‘, ‘wb‘)
10     f.write(data)
11     f.close()
12
13 #具体帖子页面解析,得到图片链接地址,并使用loadImg下载 artName为帖子名
14 def getImgLink(html,x,artName):
15     relink = ‘<img src=".*" file="(.*)" width=".*" id=".*" alt=".*.jpg" />‘
16     cinfo = re.findall(relink,html)
17     y = 0
18     for lin in cinfo:
19         imgAddr =  ‘http://www.xxx.com/‘+lin
20         print "LoadImg:"+str(x),imgAddr+‘\n‘
21         t = threading.Thread(target=loadImg(imgAddr,x,y,artName)) #使用threading 多线程下载
22         t.start()
23         y = y+1
24
25 #论坛版块页面解析,得到具体帖子链接
26 def getArticleLink(html,page):
27     relink = ‘<a href="(viewthread\.php\?tid=.*3D.*)">(.*)</a>‘
28     cinfo = re.findall(relink,html)
29     x = 1
30     for lin in cinfo:
31         #print lin,‘\n‘
32         url="http://www.xxx.com/"+lin[0]
33         headers={"User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"}
34         req = urllib2.Request(url,headers=headers)
35         response= urllib2.urlopen(req)
36         html = response.read()
37         getImgLink(html,x,lin[1])
38         x = x+1
39
40 start = 1 #起始页
41 end = 100 #终止页
42 for page in range(end):
43     url="http://www.xxx.com/forumdisplay.php?fid=19&page="+str(page+start)
44     headers={"User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"}
45     req = urllib2.Request(url,headers=headers)
46     response= urllib2.urlopen(req)
47     html = response.read()
48     print‘Start‘
49     getArticleLink(html,page)
时间: 2024-10-14 05:23:09

一个简单的Python网络爬虫(抓图),针对某论坛.的相关文章

简单的python 网络爬虫实现

最近拉肚子三天了,晚上单位又聚餐,一不小心吃多了点,晚上跑厕所跑的频繁,索性睡不着了,参照网上资料,敲了段python 爬虫代码,第一次学习除了shell 和js 外的脚本语言,无限的坑坑,都说python 的效率是 java 的3倍,由于是新手,跌跌撞撞总算是写了出来,还是比较欣慰的.    简单介绍一下python :    1.设计哲学: Python的设计哲学是"优雅"."明确"."简单".因此,Perl语言中"总是有多种方法来

python网络爬虫入门(二)——用python简单实现调用谷歌翻译

最近在看国外的文档,有些生词不认识.就用谷歌翻译来理解,用着用着闲来无事就按F12查看了下页面的源代码.发现可以用python简单的实现下谷歌翻译的页面功能.于是先上网搜下有没有类似的文章博客,发现几篇不错的,于是参考其他代码与自己的思路,简单的实现了下翻译的功能,代码如下: import re import urllib,urllib2 #----------模拟浏览器的行为,向谷歌翻译发送数据,然后抓取翻译结果,这就是大概的思路------- def Gtranslate(text): #t

python网络爬虫入门(一)——简单的博客爬虫

最近,为了微信公众号的图文,上网疯狂的收集和看了一些有深度的新闻和有趣的引人深思的文字评论,并选择了几篇极品发布出去.但感觉一篇一篇的看实在是麻烦死了.想找一个简单的解决办法,看能不能自动把网上的资料收集起来,然后自己用统一筛选.不巧,最近准备学习下网络爬虫相关知识,于是按照网上的教程自己学着试写了一个小小的爬虫,嘻嘻,是用来爬韩寒博客的. 先把完整的代码贴上来,如果朋友们需要试验下,请先安装python相关环境,然后在复制粘贴保存,再按F5运行. #导入urllib库,python访问网页必须

分享一个简单的python+mysql网络数据抓取

最近学习python网络爬虫,所以自己写了一个简单的程序练练手(呵呵..).我使用的环境是python3.6和mysql8.0,抓取目标网站为百度热点(http://top.baidu.com/).我只抓取了实时热点内容,其他栏目应该类似.代码中有两个变量SECONDS_PER_CRAWL和CRAWL_PER_UPDATE_TO_DB,前者为抓取频率,后者为抓取多少次写一次数据库,可自由设置.我抓取的数据内容是热点信息,链接,关注人数和时间.其在内存中存放的结构为dict{tuple(热点信息,

实现一个简单的邮箱地址爬虫(python)

我经常收到关于email爬虫的问题.有迹象表明那些想从网页上抓取联系方式的人对这个问题很感兴趣.在这篇文章里,我想演示一下如何使用python实现一个简单的邮箱爬虫.这个爬虫很简单,但从这个例子中你可以学到许多东西(尤其是当你想做一个新虫的时候). 我特意简化了代码,尽可能的把主要思路表达清楚.这样你就可以在需要的时候加上自己的功能.虽然很简单,但完整的实现从网上抓取email地址的功能.注意,本文的代码是使用python3写的. 好.让我们逐步深入吧.我一点一点的实现,并加上注释.最后再把完整

Python网络爬虫

http://blog.csdn.net/pi9nc/article/details/9734437 一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止. 如果把整个互联网当成一个网站,那么

Python]网络爬虫

Originated From: http://blog.csdn.net/pi9nc/article/details/9734437#comments [Python]网络爬虫(一):抓取网页的含义和URL基本构成 一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛.网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址, 然后通过这些

爬虫学习 08.Python网络爬虫之图片懒加载技术、selenium和PhantomJS

爬虫学习 08.Python网络爬虫之图片懒加载技术.selenium和PhantomJS 引入 今日概要 图片懒加载 selenium phantomJs 谷歌无头浏览器 知识点回顾 验证码处理流程 今日详情 动态数据加载处理 一.图片懒加载 什么是图片懒加载? 案例分析:抓取站长素材http://sc.chinaz.com/中的图片数据 #!/usr/bin/env python # -*- coding:utf-8 -*- import requests from lxml import

什么是Python网络爬虫?带你爬向顶峰

首先我们来介绍一下什么是Python网络爬虫,先大概了解一下关于Python网络爬虫的相关知识点. Python作为一门入门简单,功能强大的,库类完善的语言,身受广大猿友们的喜欢.本身对Python也是非常有好感的,所以时不时的逛逛有关Python的网站啥的.通过在各大Python学习群和论坛的学习,我发现学习Python的人大部分都对网络爬虫很感兴趣.下面给各位介绍下Python的学习流程,并且会给出对应的学习教程. 第一步--学习Python 不管你有没有编程语言基础,也不管你其他语言是多厉