爬取網站: www.PRoxy360.com
爬取思路: 1.分析首頁,2 分析要爬取的目標 3,保存數據
1 首先分析頁面
開始爬取
創建爬蟲項目
scrapy startproject daili
創建爬蟲
cd daili
scrapy genspider dd proxy360.cn
創建了一個名叫dd的爬蟲
在 items.py 下設置需要爬取的內容
這里爬取ipimport scrapyclass DailiItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() ip =scrapy.Field() pass然后進入爬蟲目錄在spiders下的 dd.py# -*- coding: utf-8 -*-import scrapyfrom daili.items import DailiItem #導入item.py定義的類名class DdSpider(scrapy.Spider): name = "dd" allowed_domains = ["www.proxy360.cn"]nations = ['Brazil','Chain','Japan','Vietanm'] #定義好要爬取的名字的后綴 start_urls = [] for nation in nations: 使用for 循環依次加載上 start_urls.append('http://www.proxy360.cn/Region/'+nation ) def parse(self, response): #找到要爬取div sc = response.xpath('//div[@class="proxylistitem"]') for sub in sc: 開始依次爬取 item = DailiItem() #調用item定義的類名 item["ip"]= sub.xpath('.//span[1]/text()').extract()[0] yield item 爬取的內容返回到pipelines。py里配置 setting.pyUSER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'ITEM_PIPELINES = { 'daili.pipelines.DailiPipeline': 300,}進入到pipelines.pyimport pyMySQL # 使用pymysql 連接 如果沒有 使用pip install pymysql 下載class DailiPipeline(object): def __init__(self): self.conn = pymysql.connect(host="127.0.0.1",user ="root",passWord= "root",db="get") 連接數據庫 host 連接地址 user 賬號 password密碼 def process_item(self, item, spider): try: title = item["ip"] #獲取 從dd。py傳遞過來的 內容 sql ="insert into daili(ip) VALUES ('"+title+"')" 傳到數據庫 print sql self.conn.query(sql) return item except Exception as e: pass def close_spider(self): self.conn.close() 關閉數據庫連接
|
新聞熱點
疑難解答