采集内容插入词库( python+scrapy采集爱站关键词,用到的知识点有scrpy模块 )
优采云 发布时间: 2021-12-08 15:16采集内容插入词库(
python+scrapy采集爱站关键词,用到的知识点有scrpy模块
)
python+scrapy采集爱站关键词,用到的知识点是scrpy和re模块,因为已经有文章文章使用xpath去提取内容了,所以这次我会在正则表达式python中使用re模块;
Scrapy 有点复杂。新手建议从urllib和requests入手。下面的代码页只是一个简单的应用程序。 Scrapy可以使用UA池、ip池、禁止cookies、下载延迟、谷歌缓存、分布式爬虫等强仿禁止策略。
#encoding=utf-8
#在所有工作之前,先用scrapy startproject projectname,这时会生成一个叫projectname的文件夹
from scrapy.spiders import Spider #导入模块
from scrapy.selector import Selector
from scrapy.linkextractors import LinkExtractor
from scrapy.http import Request
import re
class cispider(Spider): #面向对象中的继承类
name='ciku' #如果是win7运行的时候在你创建projectname的目录下面通过cmd,敲上scrapy crawl ciku来运行
start_urls=['http://ci.aizhan.com/seo/'] #目标网站
def parse(self,response): #类的方法
html=response.body
r=re.compile(r'(.*?)[\s\S]*?(\d+)')
a=re.findall(r,html) #提取正则
for i in a:
f=','.join(i)
w=re.compile('|')
b = w.sub('',f).decode('utf-8').encode('gbk') #解决win7下的编码问题
print b
b=re.compile(r'页号:<a class="on">1</a> 2 ')
urls=re.findall(b,html)
for n in urls:
c='http://ci.aizhan.com'
f=c+n
print f
yield Request(f,callback=self.parse) #回调,这里大概的过程就是将页码,翻页数,如第二页,第三页等返回给self.pase()来获取内容关键词