今晚解決了前幾天爬取西刺ip網不能插入資料庫的問題,成功爬取並插入資料庫的**如下
# encoding: utf-8
import re
import requests
from scrapy.selector import selector
import mysqldb
conn = mysqldb.connect(
host="localhost",
#port=3306,
user="root",
passwd="1234",
db="jobbole",
charset="utf8")
cursor = conn.cursor()
def crawl_ips():
# 爬取西刺的免費ip**
headers =
for i in range(1568):
res = requests.get(
"".format(i),
headers=headers)
selector = selector(text=res.text)
all_trs = selector.css("#ip_list tr")
ip_list =
for tr in all_trs[1:]:
speed_str = tr.css(".bar::attr(title)").extract()[0]
if speed_str:
speed = float(speed_str.split("秒")[0])
但是又出現了新的問題。就是乙個ip位址可以對應多個埠。但是之前我設定的是ip為主鍵,這當出現兩個相同的ip時,爬蟲就會停止,如下圖所示。
解決這個問題的辦法就是進行雙主鍵,ip和port都成為主鍵,只要兩個不同時相同就算新的可用ip,插入資料庫中。
暫時還不會。
scrapy簡單學習4 西刺Ip的爬取
學習 麥子scrapy第九集 import scrapy class xiciitem scrapy.item ip scrapy.field port scrapy.field position scrapy.field type scrapy.field speed scrapy.field l...
oracle開發 ip庫取資料的執行計畫問題
訪問日誌都會存在個基本問題,就是根據訪問者ip從ip庫中獲取ip所在國家 貌似有點繞口 它的使用場景比較廣泛,如現在的大部分 都可以通過來訪者的地域推送不同的內容。我們資料倉儲中,則要通過這個來分析 的國家訪問情況。廢話不多說,上表 session temp表是我建立的臨時表,從本站某天的真實訪問資...
SQL server 插入不同IP的資料庫
如果有乙個ip為 192.168.100.1 另乙個ip為 192.168.100.78 首先使用在192.168.100.1中資料庫執行 exec sp addlinkedserver 192.168.100.78 下面是sp addlinkedserver 解釋 建立乙個鏈結的伺服器,使其允許對...