python从txt拿取数据_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()
運行:
java將數據寫入到txt文件中(txt有固定的格式)
java將數據寫入到txt文件中,這個應該對于學過java I/O的人來說是很簡單的事情了,但是如果要將數據以固定的格式寫入到txt文件中,就需要一定的技巧了. 這里舉個簡單的例子,以供參考: 比如我 ...
SQL C# nvarchar類型轉換為int類型 多表查詢的問題,查詢結果到新表,TXT數據讀取到控件和數據庫,生成在控件中的數據如何存到TXT文件中
在數據庫時候我設計了學生的分數為nvarchar(50),是為了在從TXT文件中讀取數據插入到數據庫表時候方便,但是在后期由于涉及到統計問題,比如求平均值等,需要int類型才可以,方法是:Conver ...
深度學習tensorflow實戰筆記(1)全連接神經網絡(FCN)訓練自己的數據(從txt文件中讀取)
1.準備數據 把數據放進txt文件中(數據量大的話,就寫一段程序自己把數據自動的寫入txt文件中,任何語言都能實現),數據之間用逗號隔開,最后一列標注數據的標簽(用于分類),比如0,1.每一行表示一個 ...
c++鼠標點點,獲取坐標值,放入到txt文件中
// oj3.cpp : Defines the entry point for the console application.// #include "stdafx.h"#in ...
java存儲數據到本地txt文件中
java存儲數據,方便打印日志等 1.會覆蓋以前的數據 try { File writeName = new File("D:\\data.txt"); // 相對路徑,如果沒有則 ...
C# 將DataTable數據寫入到txt文件中
見代碼: /// /// 將DataTable里面的內容寫入txt文件 /// ///
總結
以上是生活随笔為你收集整理的python从txt拿取数据_python requests + xpath 获取分页详情页数据存入到txt文件中的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python socket编程_最基础的
- 下一篇: 微软发布Enterprise Libra