爬蟲練手:使用scrapy抓取噹噹網程式設計類圖書資訊,並儲存到MySQL
爬取目標
噹噹網程式設計類圖書資訊,網址為:
http://category.dangdang.com/cp01.54.06.00.00.00.html
開發環境
python3.5/MySQL 5.6/scrapy 1.3
python 執行在windows上,MySQL執行在centos6.7
原始碼
items.py
# -*- coding: utf-8 -*-
# Define here the models for your scraped items
#
# See documentation in:
# http://doc.scrapy.org/en/latest/topics/items.html
import scrapy
class Dangdang01Item(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
title = scrapy.Field() # 標題
link = scrapy.Field() # 連結
comment = scrapy.Field() # 評論數
dangdang.py (爬蟲程式)
# -*- coding: utf-8 -*-
import scrapy
from dangdang01.items import Dangdang01Item
from scrapy.http import Request
class DangdangSpider(scrapy.Spider):
name = "dangdang"
allowed_domains = ["dangdang.com"]
start_urls = [
'http://category.dangdang.com/cp01.54.06.00.00.00-srsort_score_desc-f0%7C0%7C0%7C0%7C0%7C1%7C0%7C0%7C0%7C0%7C0%7C0%7C0-shlist.html']
def parse(self, response):
title = response.xpath("//p[@class='name']/a/text()").extract()
link = response.xpath("//a[@class='pic']/@href").extract()
comment = response.xpath("//a[@name='P_pl']/text()").extract()
for i in range(0,len(title)):
dd = Dangdang01Item()
dd["title"] = title[i]
dd["link"] = link[i]
dd["comment"] = comment[i]
# print(dd["title"])
# print(dd["link"])
# print(dd["comment"])
yield dd
for i in range(1, 101):
url = "http://category.dangdang.com/pg" + str(
i) + "-cp01.54.06.00.00.00-srsort_score_desc-f0%7C0%7C0%7C0%7C0%7C1%7C0%7C0%7C0%7C0%7C0%7C0%7C0-shlist.html"
yield Request(url, callback=self.parse)
建立資料庫和表
檢視許可權分配
pipelines.py
# -*- coding: utf-8 -*-
# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: http://doc.scrapy.org/en/latest/topics/item-pipeline.html
import pymysql
import sys
class Dangdang01Pipeline(object):
def __init__(self):
# load(sys)
self.conn = pymysql.connect(host="192.168.1.188",user="root",password="654321",db="dangdang")
self.conn.set_charset("utf8")
def process_item(self, item, spider):
title = item["title"]
link = item["link"]
comment = item["comment"]
print(item["title"])
print(item["link"])
print(item["comment"])
# return item
sql = "insert into book(title,link,commit) values ('" + title + "','" + link + "','" + comment + "');"
print(sql)
cursor = self.conn.cursor()
try:
cursor.execute(sql)
self.conn.commit()
except Exception as e:
print(e)
self.conn.rollback()
# pass
def close_spider(self):
self.conn.close()
相關文章
- 網路爬蟲:使用Scrapy框架編寫一個抓取書籍資訊的爬蟲服務爬蟲框架
- Scrapy爬蟲:實習僧網最新招聘資訊抓取爬蟲
- python抓取網頁中圖片並儲存到本地Python網頁
- 爬蟲 Scrapy框架 爬取圖蟲圖片並下載爬蟲框架
- 50行爬蟲?️抓取並處理圖靈書目爬蟲圖靈
- 一文解決scrapy帶案例爬取噹噹圖書
- [Python Scrapy爬蟲] 二.翻頁爬取農產品資訊並儲存本地Python爬蟲
- Scrapy之"並行"爬蟲並行爬蟲
- 使用Scrapy爬取圖片入庫,並儲存在本地
- Python 爬蟲(六):使用 Scrapy 爬取去哪兒網景區資訊Python爬蟲
- python網路爬蟲(14)使用Scrapy搭建爬蟲框架Python爬蟲框架
- python 爬蟲 5i5j房屋資訊 獲取並儲存到資料庫Python爬蟲資料庫
- [python爬蟲] 招聘資訊定時系統 (一).BeautifulSoup爬取資訊並儲存MySQLPython爬蟲MySql
- Python爬蟲抓取股票資訊Python爬蟲
- 爬蟲雙色球所有的歷史資料並儲存到SQLite爬蟲SQLite
- 爬蟲(9) - Scrapy框架(1) | Scrapy 非同步網路爬蟲框架爬蟲框架非同步
- scrapy + mogoDB 網站爬蟲Go網站爬蟲
- 網路爬蟲: 從allitebooks.com抓取書籍資訊並從amazon.com抓取價格(3): 根據書籍ISBN碼抓取amazon.com價格...爬蟲
- python入門012~使用requests爬取網路圖片並儲存到本地Python
- 爬蟲框架-scrapy的使用爬蟲框架
- Scrapy爬蟲框架的使用爬蟲框架
- Scrapy框架的使用之Scrapy通用爬蟲框架爬蟲
- scrapy爬蟲爬蟲
- 爬蟲app資訊抓取之apk反編譯抓取爬蟲APPAPK編譯
- 使用Scrapy構建一個網路爬蟲爬蟲
- 爬蟲--Scrapy簡易爬蟲爬蟲
- Python爬蟲使用代理proxy抓取網頁Python爬蟲網頁
- Python爬蟲抓取知乎所有使用者資訊Python爬蟲
- python爬蟲抓取哈爾濱天氣資訊(靜態爬蟲)Python爬蟲
- Scrapy爬蟲-草稿爬蟲
- Scrapy爬蟲框架爬蟲框架
- scrapy爬蟲成長日記之將抓取內容寫入mysql資料庫爬蟲MySql資料庫
- Python網路爬蟲抓取動態網頁並將資料存入資料庫MYSQLPython爬蟲網頁資料庫MySql
- 爬蟲學習之基於Scrapy的網路爬蟲爬蟲
- 儲存資料到MySql資料庫——我用scrapy寫爬蟲(二)MySql資料庫爬蟲
- 使用scrapy搭建大型爬蟲系統爬蟲
- 爬蟲系列:使用 MySQL 儲存資料爬蟲MySql
- python爬蟲-抓取騰訊招聘資訊頁面Python爬蟲