Python爬虫入门教程Scrapy爬虫框架

创建一个爬虫项目

scrapy startproject baidu
scrapy genspider -t basic bd baidu.com #创建爬虫文件

items.py文件是需要抓取的目标
pipelines.py 设置爬取后的文件怎么处理
settings.py 设置配置文件
spiders/xxx.py 是爬虫文件,设置怎么爬取

response是响应,回复
requests是请求,发送

cat bd.py
# -- coding: utf-8 --
import scrapy
class BdSpider(scrapy.Spider):
  name = ‘bd’ #爬虫名字
  allowed_domains = [‘baidu.com’] #允许爬取的域名
  start_urls = [‘http://baidu.com/’] #开始爬取的文件名字
  def parse(self, response):
  print(response.body) #body方法是打印出响应文件,相当于在浏览器查看源代码

简单说一下yield
执行到yield时候会提交数据,下次继续执行for的下一个语句,之后又提交数据,再继续执行for的下一个语句如此循环直到结束。return是返回后结束循环的,不会再执行。
Python爬虫入门教程Scrapy爬虫框架
xpath简单应用

例子
<a title=" 【正版特价】Python硬件编程实战|230038 " href=“http://product.dangdang.com/1540475625.html” ddclick=“act=normalResult_title&pos=1540475625_6_1_q” name=“itemlist-title” dd_name=“单品标题” target="_blank" > 【正版特价】<font class=“skcolor_ljg”>Python</font>硬件编程实战|230038 </a>

item[‘title’]=response.xpath("//a[@name=‘itemlist-title’]/@title").extract()
查找响应里属性有name=itemlist-title所有<a>标签的title元素的值这里会提取出【正版特价】Python硬件编程实战|230038
item[‘comment’]=response.xpath("//a[@name=‘itemlist-review’]/text()").extract() 提取出标签下的文本

extract()是返回一个列表里面全部都是想提取的内容

不懂可以参考https://blog.csdn.net/Moniicoo/article/details/81007461