一、新建一个项目
scrapy startproject myslqst
二、进入到项目目录并增加爬虫文件xiaohua
cd .\myslqst\
scrapy genspider xiaohua www.xxx.com
三、修改配置文件,并开启管道存储
ROBOTSTXT_OBEY = False
LOG_LEVEL = 'ERROR'
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"
ITEM_PIPELINES = {
"myslqst.pipelines.MyslqstPipeline": 300,
}
四、目标地址
start_urls = ["https://www.XXX.com/lizhi/"]
五、获取标题内容
def parse(self, response):
标题列表= response.xpath('/html/body/div[2]/div/div[3]/div[1]/div/ul/li')
for i in 标题列表:
标题=i.xpath('./a/text()').extract_first()
print(标题)
六、将字段添加到items
class MyslqstItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
标题=scrapy.Field()
七、在爬虫文件导入MyslqstItem函数,将获取的字段对象交给管道处理
from ..items import MyslqstItem
字段对象=MyslqstItem()
字段对象['标题']=标题
yield 字段对象
八、在管道文件接收获取的字段对象
class MyslqstPipeline:
def process_item(self, item, spider):
标题=item['标题']
print(标题)
return item
九、在mysql中新建一个数据库aiyou和一个表lizhi
十、管道文件导入mysql库,并创建数据库连接
import pymysql
连接对象=None
游标对象=None
def open_spider(self,spider):
self.连接对象=pymysql.Connect(host='192.168.0.111', port=3306, user='root', password='', db='aiyou', charset='utf8')
self.游标对象=self.连接对象.cursor()
十一、执行sql语句,添加内容
sql语句='insert into lizhi(标题) values ("%s")'%标题
self.游标对象.execute(sql语句)
self.连接对象.commit()
十二、关闭响应数据
def close_spider(self,spider):
self.游标对象.close()
self.连接对象.close()
十三、储存效果
标签:item,--,self,spider,标题,对象,Scrapy,Mysql,div From: https://blog.51cto.com/u_15288375/6171207