【百度云搜索,搜各种资料:http://www.bdyss.cn】
【搜网盘,搜各种资料:http://www.swpan.cn】
我们自定义一个 main.py 来作为启动文件
main.py
#!/usr/bin/env python
# -*- coding:utf8 -*-
from scrapy.cmdline import execute #导入执行 scrapy 命令方法
import sys
import os
sys.path.append(os.path.join(os.getcwd())) #给 Python 解释器,添加模块新路径 , 将 main.py 文件所在目录添加到 Python 解释器
execute(['scrapy', 'crawl', 'pach', '--nolog']) #执行 scrapy 命令
爬虫文件
# -*- coding: utf-8 -*-
import scrapy
from scrapy.http import Request
import urllib.response
from lxml import etree
import re
class PachSpider(scrapy.Spider):
name = 'pach'
allowed_domains = ['blog.jobbole.com']
start_urls = ['http://blog.jobbole.com/all-posts/']
def parse(self, response):
pass
xpath 表达式
1、
2、
3、
基本使用
allowed_domains 设置爬虫起始域名
start_urls 设置爬虫起始 url 地址
parse(response) 默认爬虫回调函数,response 返回的是爬虫获取到的 html 信息对象,里面封装了一些关于 htnl 信息的方法和属性
responsehtml 信息对象下的方法和属性
response.url 获取抓取的 rul
response.body 获取网页内容
response.body_as_unicode() 获取网站内容 unicode 编码
xpath() 方法,用 xpath 表达式过滤节点
extract() 方法,获取过滤后的数据,返回列表
# -*- coding: utf-8 -*-
import scrapy
class PachSpider(scrapy.Spider):
name = 'pach'
allowed_domains = ['blog.jobbole.com']
start_urls = ['http://blog.jobbole.com/all-posts/']
def parse(self, response):
leir = response.xpath('//a[@class="archive-title"]/text()').extract() #获取指定标题
leir2 = response.xpath('//a[@class="archive-title"]/@href').extract() #获取指定 url
print(response.url) #获取抓取的 rul
print(response.body) #获取网页内容
print(response.body_as_unicode()) #获取网站内容 unicode 编码
for i in leir:
print(i)
for i in leir2:
print(i)
【转载自:http://www.lqkweb.com】