python中xpath如何获取内容_python requests + xpath 获取分页详情页数据存入到txt文件中...
直接代码,如有不懂请加群讨论
# *-* coding:utf-8 *-* #
import json
import requests
import pytesseract
import time
import datetime
from PIL import Image
from bs4 import BeautifulSoup
import urllib3
import random
import os
from lxml import etree
headers = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
}
session = requests.session()
url = 'https://www.saikr.com/'
def get_index():
'''
直接访问活动页面
:return:
'''
response = session.get(url+'activity',headers=headers)
response.encoding = 'utf8'
return response.content
def get_page(res = ''):
'''
获取数据进行存储
:return:
'''
if res:
html = etree.HTML(res)
else:
html = etree.HTML(get_index())
#获取尾页数据
lastpage = html.xpath('//li[@class="last"]/a/@data-ci-pagination-page')[0]
#从第一页开始爬取
for p in range(1, int(lastpage)):
net_url = url + 'activity/' + str(p)
response = session.get(net_url, headers=headers)
response.encoding = 'utf8'
get_page(response.content)
#得到详情页数据
items = html.xpath('//div[@id="activeLoadContentBox"]/ul/li')
title = ''
for item in items:
at_url = item.xpath('./div/h3/a/@href')[0]
at_title = item.xpath('./div/h3/a/text()')[0]
title = at_title.strip() + '\n'
get_content(at_url,title)
def get_content(u,t):
res = session.get(u, headers=headers)
html = etree.HTML(res.content)
items = html.xpath('//div[@class="new-active-box"]/ul/li')
result = t
for item in items:
title = item.xpath('./span/text()')[0]
cont = item.xpath('./div/p[1]/text()')
#结束时间
cont2 = item.xpath('./div/p[2]/text()')
if cont2:
endtime = cont2[0]
else:
endtime = ''
if cont:
conts = cont
else:
conts = item.xpath('./p/text()')
if conts[0].strip() == '':
conts = item.xpath('./p/span/text()')
result += title.strip() +conts[0].strip() + endtime + '\n'
print(result)
file = os.getcwd() + '/active.txt'
output = open(file, 'a')
output.write(result)
output.close()
if __name__ == '__main__':
get_page()
运行:
python中xpath如何获取内容_python requests + xpath 获取分页详情页数据存入到txt文件中...相关推荐
- python从txt拿取数据_python requests + xpath 获取分页详情页数据存入到txt文件中
直接代码,如有不懂请加群讨论 # *-* coding:utf-8 *-* # import json import requests import pytesseract import time i ...
- python读数据库的通信协议是_Python以太坊区块链交互将数据存入数据库
关于区块链介绍性的研讨会通常以易于理解的点对点网络和银行分类账这类故事开头,然后直接跳到编写智能合约,这显得非常突兀.因此,想象自己走进丛林,想象以太坊区块链是一个你即将研究的奇怪生物.今天我们将观察 ...
- python数据录入系统数据库处理导出_Python以太坊区块链交互将数据存入数据库
关于区块链介绍性的研讨会通常以易于理解的点对点网络和银行分类账这类故事开头,然后直接跳到编写智能合约,这显得非常突兀.因此,想象自己走进丛林,想象以太坊区块链是一个你即将研究的奇怪生物.今天我们将观察 ...
- java数据存入txt_java将数据写入到txt文件中(txt有固定的格式)
java将数据写入到txt文件中,这个应该对于学过java I/O的人来说是很简单的事情了,但是如果要将数据以固定的格式写入到txt文件中,就需要一定的技巧了. 这里举个简单的例子,以供参考: 比如我 ...
- 怎样把vc6的MSComm控件接受的数据实时的显示在编辑框,并把数据实时惠存txt文件中
怎样把vc6的MSComm控件接受的数据实时的显示在编辑框,并把数据实时存入txt文件中 我在做一个基于VC6的MSComm控件的电机上位机控制,数据帧格式采用9600bps,8位数据位,奇校验,1位 ...
- 5.编写程序,建立一个含有5名学生成绩的文件:stu1.txt, 解释说明:为了避免测试代码时,反复从屏幕输入数据样例,我这里将数据存在f2.txt文件中,使用freopen()函数访问并读出数据
建立一个含有5名学生成绩的文件stu1.txt.每个学生的数据包括:学号.姓名.性别.为避免测试代码时反复从屏幕输入数据样例,我这里将数据存在f2.txt文件中,使用freopen函数访问并读出数据. ...
- php获取CSV后缀文件中的内容,并把某一列的数据重写到txt文件中
说明:在下目前是新手,写的不好的地方请联系站长进行指教. 需要注意的地方: 其他的都是系统在自己获取. 下面是read_file.php中的类: <?phpclass read_file {pu ...
- python将想要打印的数据输出到txt文件中,打印省略号里面的内容
本来是想完整输出npy文件,pycharm中只输出部分npy文件,结果输出的文件也是部分数据,代码在后面(代码参考博客忘了,抱歉啊) 后期又搜了如何完整输出的方法,写在后面了. import nump ...
- c++ 写入文件_利用Python把数据存储在csv文件中
鼠年第一天开盘,很多股票跌停,太闹心了!今天再找点开心的事情做吧.人生最幸福的事情莫过于看到自己写的程序调试通过了! 前面我们介绍了,如何用Python做一个串口通讯的上位机.用这个上位机我们可以从E ...
最新文章
- win7下解决Android SDK Manger慢
- 揭秘|多伦多大学反人脸识别,身份欺骗成功率达99.5%
- Java环境变量配置详细步骤
- 笔记-项目立项管理-项目的可行性研究
- 面试(后台开发,转载)
- Java寻找最大公约数
- WebApi接口 - 响应输出xml和json 转
- [转]FlashSocket通信安全策略一点心得
- STM32 - 定时器的设定 - 基础- 07 - 6-step PWM generation - 6步长PWM的产生 - COM Event的解释
- 进入保护模式(八)简单OS内存使用分布
- rails 开发随手记 9
- TcpTrace实现的基本原理
- php 遍历文件夹下的所有文件名以及文件大小
- linux sort排序字符串位数,Linux sort命令详解:字符串排序
- vue 安装 axios
- Windows程序设计:一个简单的API函数调用实例
- 油管youtube第三方客户端 去广告-TubeMax
- 日化行业DMS全渠道商城系统
- 个性化定制软件安装包流程指导(按照步骤即可定制化安装流程)
- Android听筒模式和免提模式的切换