文章分类 - Python
摘要:title: Python爬虫-scrapy中使用CrawlSpider进行全站数据爬取 date: 2021-05-01 13:41:32 categories: [编程, Python, 爬虫] tags: scrapy {% note info %} 目标:爬取豆瓣图书科普分类下的若干页图的书
阅读全文
摘要:从中可以看出Engine类似于总指挥。 Spiders向Engine提交Requests。 Engine将Requests交给Scheduler进行过滤重复请求等操作。 Scheduler返回新的Requests给Engine。 Engine将Requests交给Downloader Downloa
阅读全文
摘要:目标:从当当网的图书排行榜中,爬取全部25页的图书名。 技巧: 通过翻页查看网页URL变化,推断页数和URL的关系。 通过所要爬取内容周围HTML文本的特点,写正则表达式提取特定内容。 使用正则表达式需要引入re模块 import requests import re """ <div class=
阅读全文
摘要:正则表达式简介 正则表达式:用于描述特定字符串模式的表达式。元字符为M1, M2, ...,数量修饰符为N1, N2, ... 常见正则表达式形式则为M1N1M2N2... | 元字符 | 含义 | | : : | : : | | . | 处\n外任意字符 | | [0-9] | 数字 | | [A
阅读全文
摘要:准备 xpath语法:https://www.w3school.com.cn/xpath/xpath_syntax.asp 预安装:lxml模块 目标:爬取豆瓣里某本书的若干页评论信息,并将评论信息存储为json文件。 JSON格式: { "userID":"rivocky", "itemID":"
阅读全文
摘要:准备 在Pycharm中安装lxml和bs4模块。 lxml:是一个HTML/XML的解析器,主要的功能是如何解析和提取 HTML/XML 数据 bs4:Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文
阅读全文
摘要:requests模块参考网站:https://docs.python-requests.org/zh_CN/latest/user/quickstart.html 在Pycharm中安装requests模块 File --> Settings --> Projects:[name] --> Pyth
阅读全文
摘要:目标:爬取豆瓣小说标签页面共计三页图书的信息。 流程: 在setting.py中根据需要设置LOG_LEVEL,ROBOTSTXT_OBEY,ITEM_PIPELINES,DOWNLOADER_MIDDLEWARES等项。 在middlewares.py中定义request.headers,用于UA
阅读全文
摘要:基于终端指令的持久化存储 存储数据放到爬虫文件的parse方法的返回值中。 存储只能为json, csv, xml等文本类型。 scrapy crawl spider_name -o output_path。执行spider_name,将输出放到output_path中。 import scrapy
阅读全文
摘要:Mac or Linux: pip install scrapy Windows: pip install wheel 下载twisted:http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 切换到twisted下载的目录后:pip install
阅读全文
摘要:创建工程:scrapy startproject project_name 切换到工程目录后创建爬虫文件:scrapy genspider spider_name www.xxx.com 执行工程:scrapy crawl spiderName。若要省去输出的繁杂日志,可在settings.py文件
阅读全文
摘要:UA伪装和Cookie设置 在DownloaderMiddleware的process_request中设置request.headers['User-Agent']和request.cookies 在setting.py中设置 代理IP设置 在DownloaderMiddleware的proces
阅读全文
摘要:Python matplotlib绘图 简介 matplotlib是python的一个数据可视化库,matplotlib.pyplot是matplotlib的一个快捷绘图命令字库,使用前要加上import matplotlib.pyplot as plt。 该教程基于MOOC的北京理工大学嵩天教授的
阅读全文
摘要:Pandas库-Series类型 默认索引 #input# import pandas as pd a=pd.Series([9,8,7,6]) a#显示a的信息 #output# 0 9 1 8 2 7 3 6 dtype: int64 其中左侧为索引,右侧为数据,数据类型为int64(沿用num
阅读全文
摘要:数组 定义和属性 import numpy as np a=np.array([1,2,3,4])#按照列表[1,2,3,4]创建数组a a.ndim#数组a的维度 1 a.shape#数组a的形状,为一个元组,这里是一维,表示为(4,) a.size#数组a的大小 1*4=4 a.dtype#数组
阅读全文
摘要:数据 print(3+2)#5 print(3-2)#1 print(3*2)#6 print(3/2)#1.5 print(3//2)#1 print(3%2)#1 print(3**2)#9 print(2.13232+1.000000)#3.13232 #数字转字符串 age=20 print
阅读全文
摘要:人机交互 input用法 s = input()#输入一个字符串 s = input("请输入数据:")#提示信息后输入 s = eval(input())#根据字符串自动返回匹配类型的值。输入12,返回int;输入3.2,返回float;输入[1, 2],返回list s = float(inpu
阅读全文