首页 > 其他分享 >Selenium+xpath爬取简书

Selenium+xpath爬取简书

时间:2023-06-07 18:37:44浏览次数:31  
标签:xpath title Selenium abstract list 爬取 item html data

from selenium import webdriver
 import time
 from lxml import etree
 import pymysqldriver = webdriver.Chrome()
 driver.get('https://www.jianshu.com/')#加载更多
 def load_mord(num):
     #通过观察发现,打开页面需要鼠标滑动大概5次左右才能出现阅读更多按钮
     for x in range(5):
         js = "var q=document.documentElement.scrollTop=100000"
         driver.execute_script(js)
         time.sleep(2)
     if num==0:
         time.sleep(2)
     #定位并点击加载更多
     load_more = driver.find_element_by_class_name("load-more")
     load_more.click()
 #获取内容源码
 def get_html():
     note_list=driver.find_element_by_class_name("note-list")
     html=note_list.get_attribute('innerHTML')
     return html#传入内容网页源码,使用xpath提取信息标题、简介、发布昵称
 def extract_data(content_html):
     html = etree.HTML(content_html)
     title_list =html.xpath('//li//a[@class="title"]/text()')
     abstract_list=html.xpath('//li//p[@class="abstract"]/text()')
     nickname_list=html.xpath('//li//a[@class="nickname"]/text()')
     data_list=[]
     for index,x in enumerate(title_list):
         item={}
         item["title"]=title_list[index]
         item["abstract"] = abstract_list[index]
         item["nickname"] = nickname_list[index]
         data_list.append(item)
     return data_list#保存到mysql数据库
 def insert_data(sql):
     db = pymysql.connect("127.0.0.1", "root", "123456lyl", "xs_db", charset="utf8")
     try:
         cursor = db.cursor()
         return cursor.execute(sql)
     except Exception as ex:
         print(ex)
     finally:
         db.commit()
         db.close()#模拟点击10次阅读更多按钮
 for x in range(2):
     print("模拟点击加载更多第 {} 次".format(str(x)))
     load_mord(x)
     time.sleep(1)resuts=extract_data(get_html())
 for item in resuts:
     sql="insert into tb_test(title,abstract,nickname) values('%s','%s','%s')" \
         ""%(item["title"],item["abstract"],item["nickname"])
     insert_data(sql)

标签:xpath,title,Selenium,abstract,list,爬取,item,html,data
From: https://blog.51cto.com/jcy58/6434244

相关文章

  • python爬虫:爬取b站热门视频的视频、音频、部分评论和弹幕,并将弹幕进行可视化。
    一.选题背景1.背景:爬虫是从互联网上抓取对于我们有价值的信息。选择此题正是因为随着信息化的发展,大数据时代对信息的采需求和集量越来越大,相应的处理量也越来越大,正是因为如此,爬虫相应的岗位也开始增多,因此,学好这门课也是为将来就业打下扎实的基础。bilibili在当今众多视频网站......
  • python----爬取猪肉价格
    一.选题背景猪肉是餐桌上重要的动物性食品之一,因其纤维较为细软,结缔组织较少,肌肉组织中含有较多的肌间脂肪,成为中国餐桌上不可缺少的一种食材。受餐饮业恢复、消费回暖的带动,猪肉消费逐步增加,生猪价格持续回升,猪肉及相关行业正处于逐步回暖状态。市场猪肉供应和合理价格运行,是涉......
  • 风鸟企业信息爬取
    功能:对企业信息进行爬取下载地址:https://github.com/jiaomai/fengniao_spider使用方法:使用python3调用示例:pythonfengniao_spider.py-k石油-k指定查询关键词(也可以是具体的公司名,人名),必填-p查询数量,默认是10-f指定导出的文件,不支持和批量查询同......
  • Python爬虫————泉州二手房数据爬取和数据可视化
    1.选题的背景我本次的主题是泉州二手房房价的调查分析。首先通过爬虫采集链家网上所有二手房的房源数据,并对采集到的数据进行清洗;然后,对清洗后的数据进行可视化分析,探索隐藏在大量数据背后的规律;将这些房源大致分类,以对所有数据的概括总结。通过上述分析,我们可以了解到目前市面......
  • Python爬虫--爬取当当网关于python的书籍
    (一)选题背景因为现如今的科技越来越发达,人们对于信息的获取道路变得更加宽广了,在以前的话,人们会受到空间,时间,科技等问题的阻碍,对于大部分知识只有在书籍当中才能够找到。不过随着现如今科技的进步,信息的载体也会变得越来越多,信息的传播方式也变得多种多样,电子书就可以通过图像......
  • 正则解析案例01__网页图片爬取
    趣图地址:https://www.gxt8.cn/gxtp01/1.正则表达式提取网页图片源码: 2.提取页面所有的图片地址后续将其拼接: 3.获取图片二进制_定义图片存储路径_图片二进制写入图片路径: ......
  • python爬虫------------旅游的地点的爬取和可视化
    选题背景我国旅游行业的极速发展,因为之前疫情原因,使得国内旅游成为新风潮,由于国内疫情控解封,使得中国成为最先开放旅游的国家,本次项目可视化就是分析国内旅游的数据,分析适合出行旅游的时间与地点信息。设计方案 1.向目标网络发送请求   2.获取数据网页源码   3.筛选......
  • 爬取网站的背景是获取《王者荣耀》游戏中各个英雄的详细属性数据
    一,选题背景 此次爬取网站的背景是获取《王者荣耀》游戏中各个英雄的详细属性数据,以便进行游戏分析和比较。《王者荣耀》是一款非常流行的多人在线战斗竞技游戏,拥有大量的英雄角色,每个英雄都有其独特的属性和技能。游戏玩家需要通过了解每个英雄的属性和技能,才能更好地制定游戏......
  • python爬取图片
    希望用python爬取京东手机图片,但是pdb调试发现期望用来保存匹配的图片的列表一直是空怀疑两个原因:获取到的要匹配关键字的html网页有问题正则表达式没写对将获取到的要匹配关键字的html的字符串写入txt,以utf-8解码,看看是否能查到浏览器打开html搜索到的关键字发现str(urll......
  • 04 Xpath_[实例]爬取maoyan
    目录Xpathlxml库的安装和使用提取的内容代码生成的csv下载的图片参考文档Xpathlxml库的安装和使用提取的内容随意选取的一段节点包含的影片信息,如下所示:<dd> <iclass="board-indexboard-index-1">1</i> <ahref="/films/1200486"title="我不是药神"class="image-link&quo......