资讯专栏INFORMATION COLUMN

Python爬虫实战案例-爬取币世界标红快讯

red_bricks / 3237人阅读

摘要:爬取币世界标红快讯内容移动版引入依赖写你自己的数据库地址需要自己安装客户端数据库表名伪造成手机写你自己的文件地址插入了一条新数据无新数据产生写你自己的文件地址时间不一致宕机使用当前系统时间进行爬取时间一致正常运行主要要求掌握内容语法

爬取币世界标红快讯内容(移动版)
# 引入依赖
from lxml import etree
import requests
import pymongo
import time
client = pymongo.MongoClient("写你自己的数据库地址", 27017) # 需要自己安装mongodb客户端
mydb = client["mydb"]
information = mydb["information"] # 数据库表名
currentTime = time.strftime("%m%d%H", time.localtime())
saveTime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())

# 伪造成手机
header = {
    "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1"
}

def get_url(url):
    html = requests.get(url, headers=header)
    selector = etree.HTML(html.text)
    infos = selector.xpath("//div[@id="kuaixun_list"]/div/article/section[@class="focus"]")
    onlyOne = selector.xpath("//div[@id="kuaixun_list"]/div/article/section[@class="focus"]")[0]
    saveId = onlyOne.xpath("../@id")[0]
    file = open(r"C:/Users/SCZ/PycharmProjects/CommunityCrawl/newest", "w") # 写你自己的文件地址
    file.write(currentTime +" "+saveId)
    file.close()
    for info in infos:
        try:
            title = (info.xpath("h3[@class="text_title"]/text()")[0]).strip()
            content = (info.xpath("p[@class="text_show"]/text()")[0]).strip()
            date = info.xpath("../h3[@class="timenode"]/text()")[0]
            infoId = info.xpath("../@id")[0]

            data = {
                "title": title,
                "id": infoId,
                "date": saveTime,
                "content": content,
                "source": "bishijie"
            }

            print(data)

            if (int(infoId) > int(saveId) - 20):
                print("插入了一条新数据!")
                information.insert_one(data)
            else:
                print("无新数据产生!")

        except IndexError:
            pass

if __name__ == "__main__":
    fs = open("C:/Users/SCZ/PycharmProjects/CommunityCrawl/newest", "r+") # 写你自己的文件地址
    line = fs.read()
    fileDate = line[0:6]

    if (fileDate != currentTime):
        print("时间不一致,宕机使用当前系统时间进行爬取!")
        urls = ["http://m.bishijie.com/kuaixun?fm=" + currentTime]
        for url in urls:
            get_url(url)
            time.sleep(2)
    else:
        print("时间一致, 正常运行!")
        urls = ["http://m.bishijie.com/kuaixun?fm=" + currentTime]
        for url in urls:
            get_url(url)
            time.sleep(2)
            
主要要求掌握内容: xpath语法,python操作文件,python的基础语法 本文内容比较基础,写的不好,多多指教!大家一起进步!!! 我的其他关于python的文章

Python爬虫入门

Python爬虫之使用MongoDB存储数据

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41967.html

相关文章

  • 首次公开,整理12年积累的博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0
  • Python爬虫实战(2):爬取京东商品列表

    摘要:,源代码爬取京东商品列表,以手机商品列表为例示例网址版本京东手机列表源代码下载位置请看文章末尾的源。,抓取结果运行上面的代码,就会爬取京东手机品类页面的所有手机型号价格等信息,并保存到本地文件京东手机列表中。 showImg(https://segmentfault.com/img/bVxXHW); 1,引言 在上一篇《python爬虫实战:爬取Drupal论坛帖子列表》,爬取了一个用...

    shevy 评论0 收藏0
  • 【小白+python+selenium库+图片爬取+反爬+资料】超详细新手实现(01)webdriv

    摘要:且本小白也亲身经历了整个从小白到爬虫初入门的过程,因此就斗胆在上开一个栏目,以我的图片爬虫全实现过程为例,以期用更简单清晰详尽的方式来帮助更多小白应对更大多数的爬虫实际问题。 前言: 一个月前,博主在学过python(一年前)、会一点网络(能按F12)的情况下,凭着热血和兴趣,开始了pyth...

    Half 评论0 收藏0
  • 如何快速掌握Python数据采集与网络爬虫技术

    摘要:通过本文的学习,可以快速掌握网络爬虫基础,结合实战练习,写出一些简单的爬虫项目。从技术手段来说,网络爬虫有多种实现方案,如。二网络爬虫技术基础在本次课中,将使用技术手段进行项目的编写。 摘要:本文详细讲解了python网络爬虫,并介绍抓包分析等技术,实战训练三个网络爬虫案例,并简单补充了常见的反爬策略与反爬攻克手段。通过本文的学习,可以快速掌握网络爬虫基础,结合实战练习,写出一些简单的...

    W4n9Hu1 评论0 收藏0
  • python爬虫实战爬取西刺代理的代理ip(二)

    摘要:爬虫实战二爬取西刺代理的代理对于刚入门的同学来说,本次实战稍微有点难度,但是简单的爬取图片文本之类的又没营养,所以这次我选择了爬取西刺代理的地址,爬取的代理也能在以后的学习中用到本次实战用的主要知识很多,其中包括自动保存利用抓包工具获取和匹 爬虫实战(二):爬取西刺代理的代理ip 对于刚入门的同学来说,本次实战稍微有点难度,但是简单的爬取图片、文本之类的又没营养,所以这次我选择了爬...

    fsmStudy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<