博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实时爬取上海快3的结果
阅读量:4541 次
发布时间:2019-06-08

本文共 1891 字,大约阅读时间需要 6 分钟。

对于静态页面可以用request获取当前页面上html的源代码,这里不多说了,代码中也已经注释。方法也比较简单,本人觉得现在的网站多数是采用的动态页面,所以如何爬取js动态加载后的html内容还是比较重要的。以上海快3开奖结果为例,实时的爬取快3的开奖结果,代码如下:

# -*- coding:utf-8 -*- from bs4 import BeautifulSoup import datetime,time from selenium.webdriver import Firefox from selenium.webdriver.firefox.options import Options from selenium.webdriver.common.desired_capabilities import DesiredCapabilities import logging import traceback from retrying import retry now_time = datetime.datetime.now() url='http://fucai.eastday.com/LotteryNew/K3Result.aspx' # user_agent={ # "User-Agent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0"} # headers = {"User-Agent": user_agent } #用无图形化Firefox来获取当前页面的html,所以动态静态都一手掌控,稳定性很好,而且不容易被反爬虫拦截 @retry def get_html(url): options = Options() options.add_argument('-headless') # 无头参数 dcap = dict(DesiredCapabilities.FIREFOX) dcap['FIREFOX.page.settings.userAgent'] = ( 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36') browser = Firefox(firefox_options=options,desired_capabilities=dcap) time.sleep(2) browser.get(url) htmlPage=browser.page_source browser.close() return htmlPage # def get_html(url): # htmlPage=requests.get(url).text # return htmlPage #下一步就是根据获取到的html来做分析,取出我们需要的开奖结果的数值 def analyze(htmlPage): soup = BeautifulSoup(htmlPage, "lxml") # print soup.prettify() # tagTable = soup.find('table', classname='san-sheet-alternating-2') # result=soup.find_all(attrs={"class": "td_title02"}) # result = soup.find(text=re.compile('\d\s*,\s*\d\s*,\s*\d')) results = soup.find_all('span')[:3] list=[] for i in results: list.append(i.string) result=list[0]+','+list[1]+','+list[2] now_time = datetime.datetime.now() print now_time,u'开奖结果为:',result #通过while循环来做到实时获取 while 1: htmlPage = get_html(url) analyze(htmlPage) time.sleep(60)

转载于:https://www.cnblogs.com/kennyzhou/p/9729899.html

你可能感兴趣的文章
List 去处自定义重复对象方法
查看>>
CoreData的使用-1
查看>>
阿里云安装samba
查看>>
jsonp跨域
查看>>
day1-xml语言
查看>>
有谁知道瑞星在windows登录界面图标按钮是如何放上去的吗
查看>>
Delphi高效的字符串处理
查看>>
消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型?
查看>>
带宽的理解
查看>>
一、简单工厂模式
查看>>
查询出结果 给其 加上序号的方法 msql
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_1_并发与并行...
查看>>
asp.net web.config配置节说明(转发)
查看>>
PPT幻灯片放映时无法全屏的解决方法
查看>>
开发中少不了的Fun -- 微信开发IOS端alert/confirm提示信息,去除网址(URL)的方法...
查看>>
Hibernate学习(二)
查看>>
java IO笔记(DataInput/DataOutput)
查看>>
Day8:String
查看>>
SQL语法之初级增删改查
查看>>
[转] Python基本学习资源收集汇总
查看>>