摘要:爬虫知识点同步滚动框架知识点粗解爬虫和代理池项目配置文件爬虫项目的配置文件。爬虫项目的管道文件,用来对中的数据进行进一步的加工处理。
爬虫知识点
同步滚动:
scrapy框架知识点 https://scrapy-chs.readthedoc...
1、ROBOTSTXT_OBEY = False 粗解
https://www.jianshu.com/p/19c1ea0d59c2
2、爬虫-User-Agent和代理池
https://www.cnblogs.com/sunxiuwen/p/10112057.html
3、
scrapy项目配置文件:
scrapy.cfg:爬虫项目的配置文件。
__init__.py:爬虫项目的初始化文件,用来对项目做初始化工作。
items.py:爬虫项目的数据容器文件,用来定义要获取的数据。
1、pipelines.py:爬虫项目的管道文件,用来对items中的数据进行进一步的加工处理。 2、scrapy的pipeline是一个非常重要的模块,主要作用是将return的items写入到数据库、文件等持久化模块
settings.py:爬虫项目的设置文件,包含了爬虫项目的设置信息。
middlewares.py:爬虫项目的中间件文件,
4
使用anaconda prompt运行.py文件,执行scrapy crwal xx指令时,xx是.py文件中给name赋的值
使用anaconda prompt运行.py文件,执行scrapy crwal xx指令时,如果报错说少了yy modules,直接输入pip install yy执行安装包,不用在进入对应的项目目录下
5、 https://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/tutorial.html?highlight=extract
xpath(): 传入xpath表达式,返回该表达式所对应的所有节点的selector list列表 。
css(): 传入CSS表达式,返回该表达式所对应的所有节点的selector list列表.
extract(): 序列化该节点为unicode字符串并返回list。
re(): 根据传入的正则表达式对数据进行提取,返回unicode字符串list列表。
6、elastisearch查询语句
https://segmentfault.com/q/1010000017553309/
7、
传入xpath表达式,返回该表达式所对应的所有节点的selector list列表 extract(): 返回被选择元素的unicode字符串8、yield
yield的作用 这里是在爬取完一页的信息后,我们在当前页面获取到了下一页的链接,然后通过 yield 发起请求,# 并且将 parse 自己作为回调函数来处理下一页的响应 # https://www.jianshu.com/p/7c1a084853d8 yield Request(self.lrtsUrl + next_link, callback=self.parse, headers=headers) #获取下一页,parse是回调函数来处理下一页的响应
9、meta scrapy的request的meta参数是什么意思?
https://blog.csdn.net/master_ning/article/details/80558985
python基础知识点:
class:#创建类 类就是一个模板,模板里可以包含多个函数,函数里实现一些功能 https://www.cnblogs.com/chengd/articles/7287528.html
def:#创建类中函数
pass:pass 不做任何事情,一般用做占位语句。
if name == "__main__":的作用
https://www.cnblogs.com/kex1n/p/5975575.html
5、python range() 函数可创建一个整数列表,一般用在 for 循环中。
函数语法
range(start, stop[, step])
6、Python len() 方法返回对象(字符、列表、元组等)长度或项目个数。
语法
len()方法语法:
len( s )
7、if not os.path.exists(self.bookname) :
报错
1、UnicodeEncodeError: "gbk" codec can"t encode character "xXX" in position XX
错误原因:编码问题
解决:
.py
import io
import os
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding="gb18030") #改变标准输出的默认编码
2、elasticsearch.exceptions.ConnectionError: ConnectionError(
错误原因:数据库那边的问题,导致连接失败
3、IndexError: list index out of range
错误原因:数组有问题 https://blog.csdn.net/huacode...
4、爬取数据的时候爬到一般中断,可以通过try expect来跨过去,继续执行程序
5、^ SyntaxError: (unicode error) "unicodeescape" codec can"t decode bytes in position 2-3: truncated UXXXXXXXX escape
解决办法:https://www.cnblogs.com/hfdkd...
6、_compile(pattern, flags).findall(string) TypeError: cannot use a string pattern on a bytes-like
https://www.cnblogs.com/areyo...
要注意:findall()的参数需要加上decode("utf-8")
infor = p.text.strip().encode("utf-8").decode("utf-8") #此处用utf-8编码,以免下面查找 ‘主演’下标报错
ya = re.findall("[0-9]+.*/?", infor)[0] # re得到年份和地区
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/43780.html
摘要:爬虫是我接触计算机编程的入门。练练练本文推荐的资源就是以项目练习带动爬虫学习,囊括了大部分爬虫工程师要求的知识点。拓展阅读一文了解爬虫与反爬虫最后,请注意,爬虫的工作机会相对较少。 爬虫是我接触计算机编程的入门。哥当年写第一行代码的时候别提有多痛苦。 本文旨在用一篇文章说透爬虫如何自学可以达到找工作的要求。 爬虫的学习就是跟着实际项目去学,每个项目会涉及到不同的知识点,项目做多了,自然...
摘要:爬虫也可以称为爬虫不知从何时起,这门语言和爬虫就像一对恋人,二者如胶似漆,形影不离,你中有我我中有你,一提起爬虫,就会想到,一说起,就会想到人工智能和爬虫所以,一般说爬虫的时候,大部分程序员潜意识里都会联想为爬虫,为什么会这样,我觉得有两个 爬虫也可以称为Python爬虫 不知从何时起,Python这门语言和爬虫就像一对恋人,二者如胶似漆 ,形影不离,你中有我、我中有你,一提起爬虫,就...
摘要:以下这些项目,你拿来学习学习练练手。当你每个步骤都能做到很优秀的时候,你应该考虑如何组合这四个步骤,使你的爬虫达到效率最高,也就是所谓的爬虫策略问题,爬虫策略学习不是一朝一夕的事情,建议多看看一些比较优秀的爬虫的设计方案,比如说。 (一)如何学习Python 学习Python大致可以分为以下几个阶段: 1.刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量、数据结构、语法...
阅读 1147·2023-04-26 02:42
阅读 1611·2021-11-12 10:36
阅读 1721·2021-10-25 09:47
阅读 1237·2021-08-18 10:22
阅读 1785·2019-08-30 15:52
阅读 1182·2019-08-30 10:54
阅读 2607·2019-08-29 18:46
阅读 3480·2019-08-26 18:27