爬虫框架
zjLOVEcyj
composing code was a kind of art
展开
-
基于selenium的淘宝商品信息爬取
商品信息数据爬取下载from selenium import webdriverfrom selenium.webdriver import ActionChainsfrom selenium.common.exceptions import TimeoutExceptionfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support import expected_conditions as ECfrom原创 2021-01-02 15:31:50 · 350 阅读 · 1 评论 -
selenium + xpath爬取csdn关于python的博文博主信息
from selenium.webdriver import Chromefrom lxml import etreeimport timeimport requestsimport jsonclass CSDN_Spider(): def __init__(self): self.url = "https://www.csdn.net/nav/python" self.headers = { "user-agent": "Moz原创 2020-12-19 19:49:41 · 148 阅读 · 1 评论 -
json数据转换成excel数据
json数据为字典类型,一行一个字典代码如下:import xlwtimport json# 创建excel工作表workbook = xlwt.Workbook(encoding='utf-8')worksheet = workbook.add_sheet('sheet1')# 设置表头worksheet.write(0, 0, label='商品名')worksheet.write(0, 1, label='申请号')worksheet.write(0, 2, label='产品原创 2020-10-25 16:21:03 · 4598 阅读 · 4 评论 -
selenium + ajax抓取英雄联盟全部英雄的详细信息及多线程保存全部皮肤图片到本地
爬虫代码如下:运行需要本地开启mongo服务器端,安装有谷歌浏览器及selenium对应版本的驱动文件#coding=gbkfrom selenium import webdriverfrom lxml import etreeimport reimport jsonimport pymongoclass Lol_spider(object): def __init__(self): #初始化一个浏览器驱动对象 self.driver = web原创 2020-07-28 14:36:30 · 409 阅读 · 0 评论 -
scrapy爬取易车网100+款汽车详细信息
spider.py编码import scrapyimport reclass QicheSpider(scrapy.Spider): name = 'qiche' allowed_domains = ['car.bitauto.com'] start_urls = ['http://car.bitauto.com/'] def parse(self, response): rank_price_list_div = response.xpath("/原创 2020-07-12 18:24:05 · 1351 阅读 · 0 评论 -
scrapy抓取当当网部分商品信息
spider编码class DangdangSpider(scrapy.Spider): name = 'dangdang' allowed_domains = ['dangdang.com'] start_urls = ['http://category.dangdang.com/pg1-cid4004279.html'] def parse(self, response): li_list = response.xpath("//li[contains原创 2020-07-11 17:26:58 · 147 阅读 · 0 评论 -
scrapy利用FormRequest.from_response模拟登陆
spider.py文件编写import scrapyimport reclass LoginGithubSpider(scrapy.Spider): name = 'login_reren' allowed_domains = ['gihub.com'] start_urls = ['https://github.com/login'] def parse(self, response): yield scrapy.FormRequest.from_原创 2020-07-01 12:49:03 · 279 阅读 · 0 评论 -
scrapy利用下载器中间件给request对象修改User-Agent及ip代理
middlewares.py编写from p5.settings import UserAgent_listimport randomclass RandomUserAgentMiddleware(object): #当每个request请求发送给目标网站时调用,用于处理或修改request对象 def process_request(self, request, spider): ua = random.choice(UserAgent_list) re原创 2020-06-30 19:31:11 · 2680 阅读 · 0 评论 -
scrapy利用登陆后的cookie请求人人网个人主页
获取cookie首先在本地浏览器手动打开人人网登陆页面,键入帐号密码登陆到个人主页,点击大鹏董成鹏页面,在浏览器上获取到当前页面的cookie字符串信息如下:anonymid=k6li2urqmmt9jn; r01=1; taihe_bi_sdk_uid=47b05d5b6248dcc6bfdb17ccb7e300ea; jebe_key=47aa4a50-a3c8-40ca-9db7-4f2bc30b2698%7Cf53e32baff17067fc2a3314328abf6f5%7C158164421原创 2020-06-30 12:06:13 · 251 阅读 · 0 评论 -
scrapy框架爬取起点小说分类
spider代码class QidianSpider(scrapy.Spider): name = 'qidian' allowed_domains = ['qidian.com'] start_urls = ['https://www.qidian.com/all?orderId=&page=1&style=1&pageSize=20&siteid=1&pubflag=0&hiddenField=0'] def parse原创 2020-06-28 15:04:51 · 847 阅读 · 0 评论 -
requests小技巧
把cookie对象转化为python字典requests.util.dict_from_cookiejar(response.cookies)python转化为cookie对象requests.util.cookiejar_from_dict({"":""})设置忽略SSK证书验证requests.get(url, verify=False)设置响应时间requests.get(url, timeout=10)...原创 2020-06-16 17:18:11 · 138 阅读 · 0 评论 -
BeautifulSoup解析前程无忧网爬虫
import requestsfrom bs4 import BeautifulSoupimport jsonclass ZhaoPin(object): def __init__(self): self.url = "https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,{}.html?lang=c&stype=&postchannel=0000&workyear=99&原创 2020-06-05 16:33:45 · 500 阅读 · 0 评论 -
多线程爬虫下载2000+张背景图片
import requestsfrom lxml import etreeimport queueimport threadingimport timeclass ImageSpider(object): def __init__(self): self.base_url = "http://sc.chinaz.com/tupian/beijingtupian_{}.html" self.headers = { "User-Ag原创 2020-06-03 17:27:05 · 256 阅读 · 0 评论 -
单线程爬虫下载2000+张背景图片
import requestsfrom lxml import etreeclass ImageSpider(object): def __init__(self): self.base_url = "http://sc.chinaz.com/tupian/beijingtupian_{}.html" self.headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64原创 2020-06-03 15:23:45 · 263 阅读 · 0 评论 -
糗事百科段子 +图片 + 视频爬虫
import requestsfrom lxml import etreefrom bs4 import BeautifulSoupimport jsonclass QiuShi(object): #构造方法 def __init__(self): self.headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KH原创 2020-05-26 20:56:04 · 706 阅读 · 0 评论 -
tesseract安装与使用
tesseract是谷歌开发并开源的图像文字识别引擎首先下载安装程序,分享我的百度云地址 链接:https://pan.baidu.com/s/1AynK4CN936sjfaHyu41WIw提取码:7358下载后下一步傻瓜式安装即可,需安装到无需管理员权限的纯英文路径下即可...原创 2020-03-12 22:07:34 · 1366 阅读 · 0 评论 -
pytesseract自动识别图像文本使用方法
tesseract的安装方法在安装方法在tesseract安装方法from PIL import Imageimport pytesseract#指定tesseract驱动程序的安装路径,pytesseract.pytesseract.tesseract_cmd = r"D:/tesseract-install/Tesseract-OCR/tesseract.exe"#实例化一个图像...原创 2020-03-13 12:41:15 · 172 阅读 · 0 评论 -
稳定爬虫利器selenium用法
selenium模块可以自动控制谷歌,火狐等浏览器,可以用于稳定爬虫,缺陷在于性能较差from selenium import webdriver#指定谷歌浏览器驱动程序路径driver_path = r"D:\chromedriver_win32\chromedriver.exe"#实例化一个谷歌浏览器驱动对象,传入参数为驱动程序路径driver = webdriver.Chrom...原创 2020-03-01 22:04:59 · 332 阅读 · 0 评论 -
基于selenium的斗鱼直播房间详细信息自动化爬虫
from selenium import webdriverimport time#导入 ActionChains 类from selenium.webdriver import ActionChainsimport jsonimport reimport requestsclass DouYuSpider(): def __init__(self): #...原创 2020-04-18 21:05:08 · 308 阅读 · 0 评论 -
python爬取腾讯招聘信息
import requestsimport jsonimport queueimport threadingimport timeclass TencentSpider(): def __init__(self): self.headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win...原创 2020-04-17 17:55:13 · 815 阅读 · 0 评论 -
python多线程爬取海报图片
1. 单线程版import requestsfrom lxml import etreeimport timeimport reclass HaiBaoSpider(): def __init__(self): self.headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; W...原创 2020-04-16 16:33:41 · 517 阅读 · 0 评论 -
贴吧帖子标题 + 回复内容 + 回复图片爬虫
import requestsfrom lxml import etreeimport reimport jsonimport osimport timeclass TieBaSpider(): def __init__(self): self.headers = { "user-agent": "Mozilla/5.0 (Windo...原创 2020-04-14 11:09:38 · 733 阅读 · 0 评论 -
有趣段子 + 图片爬虫
import requestsimport reimport jsonimport osclass NeiHanSpider(): def __init__(self): self.start_url = "http://www.budejie.com/" self.headers = { "User-Agent": "M...原创 2020-04-13 11:09:49 · 156 阅读 · 0 评论 -
通过session保存即时cookies请求拉勾网职位信息
import requestsstart_url = "https://www.lagou.com/"next_url = "https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false"headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0;...原创 2020-04-12 17:56:46 · 332 阅读 · 0 评论 -
通过requests获取网络上图片的大小
from io import BytesIO,StringIOimport requestsfrom PIL import Imageimg_url = "https://profile.csdnimg.cn/F/6/F/3_cyj5201314"response = requests.get(img_url)f = BytesIO(response.content)img = Ima...原创 2020-04-12 17:16:06 · 1896 阅读 · 0 评论 -
爬虫解析模块lxml.etree
1. 导入模块from lxml import etree2. 传入html数据retr = etree.HTML(html)3.使用xpath语法获取元素element = etr.xpath(“xpath语句”)4. 获取元素属性element.get(“属性名”)...原创 2020-02-28 21:47:03 · 329 阅读 · 0 评论 -
request.urlretrieve()方法传入请求头信息(headers)
1. 导入模块import urllib2. 创建一个opener对象opener = request.build_opener()3. 向opener传入请求头信息,譬如以下opener.addheaders([(“User-Agent”,“xxxxx”),(“Cookie”, “xxxxxx”)])4. 将创建好的opener对象装入requestrequest.install_...原创 2020-02-28 21:55:47 · 3265 阅读 · 3 评论 -
scrapy的setting.py的常用设置
SettingsScrapy设置(settings)提供了定制Scrapy组件的方法。可以控制包括核心(core),插件(extension),pipeline及spider组件。比如 设置Json Pipeliine、LOG_LEVEL等。内置设置参考手册BOT_NAME默认: ‘scrapybot’当使用 startproject 命令创建项目时其也被自动赋值。CONCURRENT...原创 2020-04-01 11:42:00 · 333 阅读 · 0 评论 -
scrapy框架parse()方法的工作机制
因为使用的yield,而不是return。parse函数将会被当做一个生成器使用。scrapy会逐一获取parse方法中生成的结果,并判断该结果是一个什么样的类型;如果是request则加入爬取队列,如果是item类型则使用pipeline处理,其他类型则返回错误信息。scrapy取到第一部分的request不会立马就去发送这个request,只是把这个request放到队列里,然后接着从生...原创 2020-03-30 17:40:14 · 982 阅读 · 0 评论 -
threading + Queue多线程爬虫下载图片
import requestsfrom lxml import etreefrom queue import Queueimport refrom urllib.request import urlretrieveimport threadingimport timeclass ImgSpider(object): def __init__(self): ...原创 2020-03-24 10:35:57 · 178 阅读 · 0 评论 -
selenium + xpath + requests贴吧爬虫
代码运行需要selenium与mongodb环境,爬取母校贴吧10页的帖子内容与图片rulimport requestsfrom lxml import etreefrom selenium import webdriverimport reimport pymongoclass TieBa(object): def __init__(self): sel...原创 2020-03-21 14:47:57 · 291 阅读 · 0 评论 -
基于scrapy的微信小程序社区教程文章爬取
首先在cmd终端创建scrapy项目 ,项目名称为wxappscrapy startproject wxapp接着在cmd终端创建爬虫py文件,py文件名为wxapp_spider.py,请求域名为"wxapp-union.com"scrapy genspider -t crawl wxapp_spider "wxapp-union.com"在pycharm下打开创建好的项目...原创 2020-03-17 10:26:03 · 434 阅读 · 0 评论 -
Scrapy爬虫入门
写一个爬虫,需要做很多的事情。比如:发送网络请求、数据解析、数据存储、反反爬虫机制(更换ip代理、设置请求头等)、 异步请求等。这些工作如果每次都要自己从零开始写的话,比较浪费时间。因此Scrapy 把一些基础的东西封装好了,在他上面写爬虫可以变的更加的高效(爬取效率和开发效率)。因此真正在公司里,一些上了量的爬虫,都是使用Scrapy框架来解决。首先通过命令行来创建scrapy项目 输入...原创 2020-03-14 14:08:00 · 223 阅读 · 0 评论