pythonp微型爬虫
许多 同学 在看到一个编排十分符合自己的网站,想要把整个网页内容 一次性 导到自己的电脑上,
F12一个一个的复制十分浪费时间,
所以我做了一个pythonp微型爬虫
源代码:
# -*- coding: UTF-8 -*-
import requests
import re
url = "https://edu.csdn.net/topic/python115?utm_source=blogfeed14"; # 需要请求的网址
html_str = requests.get(url) # 发送请求
# html内容
htms = re.findall(r"<a.*?>.*?</a>", html_str.text) # 通过正则表达式 r"<a.*?>.*?</a>" 找到所有的数据并输出
for item in htms:
print(item)
这个小爬虫只能爬取网页文字内容
是不是很鸡肋呀。
but!
下面这个大爬虫就很爽了
懒虫可以试试哈
# -*- coding: UTF-8 -*-
import re
import sys
import time
import requests
from lxml import etree
import importlib
importlib.reload(sys)
#定义一个爬虫
class spider(object):
def __init__(self):
print'开始爬取内容。。。'
#getsource用来获取网页源代码
def getsource(self,url):
html = requests.get(url)
return html.text
#changepage用来生产不同页数的链接
def changepage(self,url,total_page):
if re.search('index_(\d+)',url,re.S):
now_page = int(re.search('index_(\d+)',url,re.S).group(1)) #可修改
else:
now_page = 0
page_group = []
for i in range(now_page,total_page+1):
link = re.sub('index_\d+','index_%s'%i,url,re.S) #可修改
page_group.append(link)
return page_group
#getpic用来爬取一个网页图片
def getpic(self,source):
selector = etree.HTML(source)
pic_url = selector.xpath('//ul[@class="ali"]/li/div/a/img/@src') #可修改
return pic_url
#savepic用来保存结果到pic文件夹中
def savepic(self,pic_url):
picname=re.findall('(\d+)',link,re.S) #可修改
picnamestr = ''.join(picname)
i=0
for each in pic_url:
print('now downloading:{}'.format(each))
pic = requests.get(each)
fp = open('pic\\'+picnamestr +'-'+str(i)+ '.jpg', 'wb')
fp.write(pic.content)
fp.close()
i += 1
#ppic集合类的方法
def ppic(self, link):
print('正在处理页面:{}'.format(link))
html = picspider.getsource(link)
pic_url = picspider.getpic(html)
picspider.savepic(pic_url)
if __name__ == '__main__':
start = time.time()
url = 'http://www.baidu.com/' #可修改
picspider = spider()
all_links = picspider.changepage(url,3) #可修改
for link in all_links:
picspider.ppic(link)
end = time.time()
print('耗时:{}'.format(start-end))
对了
使用Python3.X的童鞋门 如果出现 print “ XX ”或 print ‘ XX ’ 出错的话 改成 print(“ XX ”)或print (‘ XX ’)。其他类似的问题也有可能是因为这个版本问题。别问我是怎么知道的(亲身体验,改了半天才发现……)