需求:对某网站实现动态爬取并能每天保存到文本文件中

解决方法:通过Python的BeautifulSoup、selenium完成该需求。

完整代码:

import json
import urllib.request
import urllib.error
from urllib.parse import quote
from bs4 import BeautifulSoup
from builtins import strfrom selenium import webdriver
from selenium.webdriver.common.by import By
from bs4 import BeautifulSoup
from urllib.request import urlopen
from selenium.common.exceptions import NoSuchElementException
import re
import time
import datetime
import sys
sys.setrecursionlimit(1000000)
import osfrom selenium.webdriver.common.keys import Keysdef getQuestionsLinks(driver):bs = BeautifulSoup(driver.page_source, 'lxml')AllInfo=bs.findAll('tr', {'class': 'bgcol'})linkyesterdaystr = str(datetime.date.today() - datetime.timedelta(days=0)) ###0代表当天,1代表昨天print(linkyesterdaystr)firstdaystr=AllInfo[1].get_text().replace('\t','').replace('\n','|').split('|')[-2]print(firstdaystr)com = int(linkyesterdaystr.__eq__(firstdaystr))if (com == 0):returnfor info in AllInfo: #[0:2]if info.find('a', {'class':'xjxd_nr'}) is None:print("No usefull Info")else:paras=info.find('a', {'class': 'xjxd_nr'}).get('onclick').replace('detail(','').replace("'",'')[0:-2]listparas=paras.split(',')innerlink='http://www.shenl.com.cn/todetail?id='+listparas[0]+'&isSearchPassWord='+listparas[1]+'&tag='+listparas[2]innerDetail=info.get_text().replace('\t','').replace('\n','|').split('|')while '' in innerDetail:innerDetail.remove('')innerdate = time.strptime(innerDetail[-1], "%Y-%m-%d") #Struct_timeprint(innerdate)firstdaydate = time.strptime(firstdaystr, "%Y-%m-%d")print(firstdaydate)depart=(datetime.datetime(*firstdaydate[:3]) - datetime.datetime(*innerdate[:3])).daysif depart > 0: #如先获得首页里的开始时间,如果首次出现时间小于开始时间则停止爬虫returnf.write('\t'.join(innerDetail) + "\t" + innerlink + "\n")try:print(type(driver.find_element(By.LINK_TEXT, "下一页")))driver.find_element_by_xpath("//a[contains(text(),'下一页')]").click()except NoSuchElementException:time.sleep(1)print("No more pages found")returntime.sleep(4)getQuestionsLinks(driver)if __name__ == '__main__':for n in range(0,1,1):import timeIsoTimeFormat = '%Y_%m_%d'f = open('G:\\temp\\Question_Incr_'+str(time.strftime(IsoTimeFormat))+'.txt', 'w', encoding='utf-8')driver = webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe")driver.get("http://www.shenl.com.cn/xjxdList")time.sleep(3)getQuestionsLinks(driver)driver.close()f.close()

基于某网站的信息爬取与保存相关推荐

  1. 基于某网站的信息爬取与保存_指定查询内容

    需求:对某网站实现输入指定的查询内容后动态爬取并能保存到文本文件中 解决方法:通过Python的BeautifulSoup.selenium的Kyes完成该需求. 代码见下: import json ...

  2. 基于某网站的信息爬取与保存_指定跳转页

    需求:对某网站实现输入指定的跳转页完成爬取并能保存到文本文件中 解决方法:通过Python的BeautifulSoup.selenium的Kyes完成该需求. 代码见下: import json im ...

  3. 基于python的汽车信息爬取与可视化分析系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目简介 本项目利用网络爬虫技术从某汽车门户网站采集汽车数据,并利用 Flask + Echarts 前后端框 ...

  4. 基于python的汽车销售_基于Python的汽车信息爬取与分析

    二.<基于Python的汽车数据爬取与分析> 1 课题内容和要求 1.1问题的提出 1)用Python 语言自行编写爬虫框架或使用Scrapy 框架,爬取汽车之家或易车网的车辆相关数据,按 ...

  5. Python 爬虫小练习:基于 XPath 的表格信息爬取

    文章目录 确定目标和分析思路 目标 思路 观察情况 爬取名单表 爬取详情页二级信息 爬虫请遵守相关法律法规,不要做违法犯罪的事情 爬虫小技巧总结 这是一个 Python 爬虫的入门练习,我们通过 Re ...

  6. 爬虫-菜谱信息爬取(保存至数据库)

    目录 爬虫爬取思路 python代码 数据库代码 后期发现: 解决方法: 词云制作 爬虫爬取思路 python代码 import requests # 请求 from lxml import etre ...

  7. 基于scrapy下的租房信息爬取与数据展示工具的设计与实现

    环境:python 3.6.0 Anaconda custom 64bit 4.3.0 Pycharm x64 专业版 2018.1.2 Web strom x64 专业版 2018.1.3 scra ...

  8. Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海、北京关于区块链职位的求职信息

    Crawler:爬虫之基于https+parse库实现爬取国内某知名招聘网上海.北京关于区块链职位的求职信息 目录 输出结果 1.上海区块链职位 2.北京区块链职位 设计思路 核心代码 输出结果 1. ...

  9. python爬取微博用户正文_基于Python的新浪微博用户信息爬取与分析

    基于 Python 的新浪微博用户信息爬取与分析 邓文萍 [摘 要] 摘要:本文设计并实现了一个微博用户信息爬取与分析系统 , 利用 Cookie 实现了用户的模拟登录 , 使用 Python 语言的 ...

最新文章

  1. 使用OpenRowSet操作Excel Excel导入数据库
  2. 电脑端京东的我的订单html+css页面_什么是前端和后端开发?写给即将迈入前端开发领域的朋友...
  3. Python3实现邮件群发
  4. ETHREAD 结构体属性介绍
  5. SpringAOP的CGLIB动态代理的底层原理实现
  6. Nginx提供静态内容
  7. Java基础学习总结(83)——Java泛型总结
  8. 如何表达清楚一个程序:模块化设计
  9. SLAM的一些基础知识
  10. underscore源码经典--收藏
  11. 常用日期格式符(表格)
  12. 谷粒商城:16.商城业务 — 首页
  13. win10设置眼睛保护色脚本
  14. 【毕业设计】STM32智能药箱系统 - 单片机 嵌入式 物联网
  15. 程序员在大城市奋斗的理由,仅为追求那些不曾见过的五光十色
  16. 【文献调研】SLAM方向综述性论文
  17. iPhone13或许会支持25w快充
  18. PCI设备初始化(一)
  19. 【转】草根老师的 linux字符设备驱动详解
  20. 电商带来物流变革物流行业

热门文章

  1. OpenCASCADE:使用扩展数据交换 XDE之剪裁平面
  2. OpenCASCADE:Modeling Algorithms模块标准拓扑对象
  3. wxWidgets:wxRibbonPanel类用法
  4. boost::type_index模块constexpr相关的测试程序
  5. boost::mpl模块实现list_c相关的测试程序
  6. boost::iostreams模块测试定义的布尔类型特征
  7. boost::geometry模块自定义坐标系示例
  8. VTK:可视化之Glyph3DMapper
  9. OpenCV高效准确的场景文本检测器(EAST)(附完整代码)
  10. QDoc C ++特定的配置变量