上一篇爬虫案例讲了数据库的连接,本片来讲利用异步网络框架来连接数据库:Twisted.enterprise中adbapi模块,adbapi中的connectionPool方法是用来创建数据库连接池对象的,每个连接对象在独立的线程当中工作,内部依然是用pymysql等库去访问数据库的;adbapi中的runInteraction方法以异步方式去调用insert_db函数,连接对象中的参数item就会被传给insert_db的第二个参数,等insert_db执行完之后,连接对象会自动调用commit方法。
本片爬取的网站是:http://www.ci.commerce.ca.us/bids.aspx ,我们先建立新的爬虫项目,取名随意,先看items.py:
from scrapy import Item,Field
class Csdn2Item(Item):
title = Field()
dueDate = Field()
web_url = Field()
bid_url = Field() #标书链接
issuedate = Field()
category = Field() #标书分类
在spiders文件夹下创建Commerce.py爬虫文件:
import scrapy
import datetime
from scrapy.http import Request
from CSDN2.items import Csdn2Item
class CommerceSpider(scrapy.Spider):
name = 'commerce'
start_urls = ['http://www.ci.commerce.ca.us/bids.aspx']
domain =