Python 爬虫案例(一)

对于初学爬虫的人来说,看些案例是非常有帮助的,该篇用PyCharm为工具,以scrapy为框架进行了一次简单的爬取,爬取的网站是http://www.wicomicocounty.org/bids.aspx,爬取的目标就是获取标书的名字,开标日期和截止日期等。

首先打开端口,创建名为CSDN的project, 在端口输入
scrapy startproject CSDN 回车
cd CSDN 回车
scrapy genspider wicomico wicomicocounty.org 回车

之后我们打开pycharm中CSDN所在的位置,将这个项目点开,会发现一个items.py文件,点开,我们先在items中将要封装的数据列出,同时这也是我们将要获取的数据:

import scrapyclass CsdnItem(scrapy.Item):title = scrapy.Field()   #标书名称expiredate = scrapy.Field()   #标书截止日期issuedate = scrapy.Field()   #标书开始日期web_url = scrapy.Field()   #网页链接bid_url = scrapy.Field()   #标书链接

接下来我们找到wicomico.py这个爬虫文件,开始编写爬虫的代码:

import scrapy
from scrapy.http import Request
from CSDN.items import CsdnItemclass wicomicoSpider(scrapy.Spider):name = 'wicomico'start_urls = ['http://www.wicomicocounty.org/bids.aspx']domain = 'http://www.wicomicocounty.org/'def parse(self, response):#用的谷歌浏览器,右键检查,利用xpath定位到bid所在的区域result_list = response.xpath("//*[@id='modulecontent']//table//div[5]//tr")#写一个for循环,对每条bid进行处理for result in result_list:#导入itemitem = CsdnItem()#定位出标书名称所在的位置title1 = result.xpath("./td[2]/span/a/text()").extract_first()#可以注意到定位的地方不是都有title存在,所以做一个判断if title1:#将title封装进item里边item['title'] = title1item["web_url"] = self.start_urls[0]#定位出标书的链接url1 = result.xpath("./td[2]/span/a/@href").extract_first()urls = self.domain + url1item['bid_url'] = urls#将成功获取的标书链接再进行分析,提取数据,进入parse_content函数中yield Request(urls, callback=self.parse_content, meta={'item': item})def parse_content(self, response):#将item传到该函数中使用item = response.meta['item']#定位标书的开始日期issuedate = response.xpath("//span[contains(text(),'Publication Date/Time:')]/../../following-sibling::tr[1]/td/span/text()").extract_first()item['issuedate'] = issuedate#定位标书的截止日期expireDate = response.xpath("//span[contains(text(),'Closing Date/Time:')]/../../following-sibling::tr[1]/td/span/text()").extract_first()item['expiredate'] = expireDateyield item

最后我们点开settings.py这个文件,找到ROBOTSTXT_OBEY这一行,改动一下代码,如下:
ROBOTSTXT_OBEY = False

以上代码就算完成了,已经是一个简单的爬虫,我们在pycharm下方点开terminal,输入:
scrapy crawl wicomico -o wicomico.csv
运行结束后在左侧边框栏会出现wicomico.csv的文件,点开即可看到我们爬取的结果!

Python 爬虫案例(一)相关推荐

  1. python爬虫简单实例-最简单的Python爬虫案例,看得懂说明你已入门,附赠教程

    原标题:最简单的Python爬虫案例,看得懂说明你已入门,附赠教程 这是最简单的Python爬虫案例,如果你能看懂,那么请你保持信心,因为你已经入门Python爬虫,只要带着信心和努力,你的技术能力在 ...

  2. python爬虫案例-Python爬虫案例集合

    原标题:Python爬虫案例集合 urllib2 urllib2是Python中用来抓取网页的库,urllib2 是 Python2.7 自带的模块(不需要下载,导入即可使用) 在python2.x里 ...

  3. python爬虫案例——百度贴吧数据采集

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python爬虫案例--百度贴吧数据采集 通过python实现百度贴吧页面的内容采集是相对来说比较容易的,因为百度贴吧不需要登陆,不需要coo ...

  4. python爬虫案例——糗事百科数据采集

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python爬虫案例--糗事百科数据采集 通过python实现糗事百科页面的内容采集是相对来说比较容易的,因为糗事百科不需要登陆,不需要coo ...

  5. python爬虫案例——csdn数据采集

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python爬虫案例--csdn数据采集 通过python实现csdn页面的内容采集是相对来说比较容易的,因为csdn不需要登陆,不需要coo ...

  6. [Python爬虫案例]-中国古诗网

    [Python爬虫案例]-中国古诗网 看懂代码,你需要相关知识 爬虫必备知识 只是想得到目标的话,直接运行就好了 import requests import re import jsondef pa ...

  7. Python 爬虫案例(二)--附件下载

    Python 爬虫案例(二) 此篇文章将爬取的网站是:http://www.warrensburg-mo.com/Bids.aspx (有时候打开不一定会有标书,因为标书实时更新) 类型跟上一篇相似, ...

  8. python爬虫案例_推荐上百个github上Python爬虫案例

    现在学生都对爬虫感兴趣,这里发现一些好的github开源的代码,分享给各位 1.awesome-spider 该网站提供了近上百个爬虫案例代码,这是ID为facert的一个知乎工程师开源的,star6 ...

  9. python爬虫案例-Python3爬虫三大案例实战分享

    课程名称: [温馨提示:1. 你可以在PC端浏览器或者微信收藏该页面,以方便你快速找到这个课程:2. 课程相关资料可在课程PC端公告查看下载:3.加入课程后,点(课时)列表即可观看视频 ] 课程须知: ...

  10. 【Python爬虫案例教学】采集某网站壁纸,实现壁纸自由

    前言 (。・∀・)ノ゙嗨 大家好,这里是小圆 现在开始每天都给大家 分享些关于python爬虫的案例教学 从最简单的开始 - 采集图片壁纸 今天就来扒拉这个优质的壁纸网站~ 网址

最新文章

  1. tf.keras.losses.SquaredHinge 损失函数 示例
  2. tf.contrib.layers.fully_connected详解
  3. T-SQL Cstr函数
  4. python获取ftp所有文件名_在Python中获取最新的FTP文件夹名称
  5. 封装的ExtGrid 实现增、删、改、查等功能
  6. 【CodeForces - 580D】Kefa and Dishes (状压dp)
  7. java Socket使用注意
  8. Linux查看日志命令(汇总)
  9. js保留两位小数并四舍五入的方法
  10. Android:方向传感器
  11. 热身赛-巴西5-1坦桑尼亚 卡卡传射罗比两破门
  12. C#下usb条码扫描枪的钩子实现的改进
  13. 过滤器六:url-pattern设置过滤范围
  14. 从零开始搭建自己的网站一:整体步骤
  15. 西北工业大学遭到境外网络攻击,调查报告二发布
  16. AI如何走向精智能之路?
  17. 干货|app自动化测试之Appium 源码修改定制分析
  18. 英语测试题软件,英语试题软件
  19. 大数据核心技术与应用实战峰会(上):大数据在多行业内大放异彩
  20. Excel中利用宏批量生成md5加密

热门文章

  1. 电商产品经理的那些图 订单、确认支付、发货、退货、退款、换货...
  2. Python中的图像处理(第十一章)Python图像锐化及边缘检测(2)
  3. 信息学奥赛一本通1368 对称二叉树
  4. 4-PSK、4-DPSK、8-QAM信号调制
  5. Hustoj mdui Web界面修改
  6. 华为 C/C++ 编程规范(精华总结)
  7. 人人商城小程序不能显示批发商品修复方法
  8. 【操作系统】-- 时间片轮转调度算法、优先级调度算法、多级反馈队列调度算法
  9. java 1.8 32位_JDK1.8 32位官方下载
  10. YUV444、YUV422、YUV420占用字节数