首页 > 科技 > python的crapy框架抓取段子标题

python的crapy框架抓取段子标题

本代码作用:通过python的crapy框架的xpath功能获取网址(http://www.yikexun.cn/duanzi/)段子的标题。

操作步骤如下:

一、去CMD里新建项目,新建爬虫

1、按win+r,输入cmd进入命令提示符窗口。

2、依次输入命令:

①cd c:\python ——切换到c盘的python目录

②scrapy project test3 ——创建test3项目

③cd test3 ——切换到test3目录

④scrapy genspider yikexun yikexun.cn/duanzi/ ——创建爬虫,爬虫名为yikexun,爬取网址为yikexun.cn/duanzi/

二、去pycharm里打开test3目录并开始编写代码

1、设置settings.py文件的ROBOTSTXT_OBEY = False,并在DEFAULT_REQUEST_HEADERS里设置请求头

'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'

图片示例如下:

2、进入test3/spiders/yikexun.py文件里编写代码

因段子标题都是在div标签的

的/h3/a标签或者/h3/a/b标签下,故需要写两个变量用来接收response.xpath的信息,代码如下:

# -*- coding: utf-8 -*-
import scrapy
import re

class QsbkSpider(scrapy.Spider):
name = 'yikexun'
allowed_domains = ['http://www.yikexun.cn/duanzi/']
start_urls = ['http://www.yikexun.cn/duanzi/']

def parse(self, response):
result1=response.xpath('//div[@class="art-t"]/h3/a/text()').extract()
print(result1)
result2=response.xpath('//div[@class="art-t"]/h3/a/b/text()').extract()
print(result2)

为了方便在pycharm中运行代码,故在test3目录下新建了一个run.py文件,在run.py文件里输入代码:

from scrapy import cmdline
cmdline.execute("scrapy crawl yikexun".split()) #执行命令,命令是scrapy crawl yikexun

在run.py文件的空白处,右键选择Run 'run'或者按住ctrl+shift+F10执行运行代码的命令

代码运行结果如下图所示:

最终获取到的结果是:

['中央派来的', '9个超级冷静的段子,我想静静!', '20条经典搞笑段子']

['2017年最受欢迎的幽默段子', '新年好心情,搞笑段子笑不停!', '经典搞笑段子:讲一件事,证明你是女汉子!笑惨了~', '58条经典搞笑段子:小明,滚出去!', '20条经典搞笑句子,猜你个姥姥啊!下一个!', '18则戳中泪点的经典段子,看到第三条我就忍不住了', '十条感悟人生的经典段子,太经典了。', '8条感悟颇深的经典段子,值得收藏', '13条感悟人生的经典段子,送给迷茫的朋友', '18条触动心情的经典段子,很有感触', '二十六条超有爱的段子,心都要融化了', '40条搞笑段子,笑死人不偿命']

本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.souzhinan.com/kj/268640.html