學習**:麥子scrapy第九集
import scrapy
class xiciitem(scrapy.item):
ip=scrapy.field()
port=scrapy.field()
position=scrapy.field()
type=scrapy.field()
speed=scrapy.field()
last_check_time=scrapy.field()
# -*- coding: utf-8 -*-
import scrapy
from xici.items import xiciitem
class xicispider(scrapy.spider):
name = "xici"
allowed_domains = ["xicidaili.com"]
start_urls = (
'',)
def start_requests(self):#作用:生成初始的request
reqs=#定義resqs(空集)
for i in range(1,206):#設定變數:頁碼1到206
req=scrapy.request("/nn/%s"%i)
return reqs#返回reqs
def parse(self, response):
#提取每一行的xpath位置
ip_list=response.xpath('//table[@id="ip_list"]')#ip_list=xpath提取(table標籤下的"ip_list"屬性)
trs = ip_list[0].xpath('tr')#變數trs=ip_list加入tr標籤
items=#定義items空集
for ip in trs[1:]:#ip的tr從[1以後開始]
pre_item=xiciitem()#pre_item=載入xiciitem()
pre_item['ip'] = ip.xpath('td[3]/text()')[0].extract()#取文字
pre_item['port'] = ip.xpath('td[4]/text()')[0].extract()#取文字
pre_item['position'] = ip.xpath('string(td[5])')[0].extract().strip()
pre_item['type'] = ip.xpath('td[7]/text()')[0].extract()
#speed取到td的title屬性,再用正則(匹配到數字)
pre_item['speed'] = ip.xpath(
'td[8]/div[@class="bar"]/@title').re('\d\.\d')[0]
pre_item['last_check_time'] = ip.xpath('td[10]/text()')[0].extract()
return items#返回專案
爬取西刺ip的插入資料庫相關問題
今晚解決了前幾天爬取西刺ip網不能插入資料庫的問題,成功爬取並插入資料庫的 如下 encoding utf 8 import re import requests from scrapy.selector import selector import mysqldb conn mysqldb.con...
scrapy的學習之路1 簡單的例子
pip install i scrapyscrapy startproject articlespidermain.py是後面建立用來執行scrapy的 spider名 網域名稱 在articlespider建立main.py,可以通過此檔案執行scrapy from scrapy.cmdline ...
MVC4 的簡單學習
1.html元件,提供很多有用的功能,html.textboxfor 這個是可以直接使用model中的東西的 2.2.remote特性,不好用,每次輸入,都要到後台去驗證,這個就有問題了,如果需要連庫查,肯定效能太差了,應該看一下怎麼回事 3和4都這個毛病 3.要詳細看看路由設定啊,很亂 4.如果要...