Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3656593
  • 博文数量: 365
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2522
  • 用 户 组: 普通用户
  • 注册时间: 2019-10-28 13:40
文章分类

全部博文(365)

文章存档

2023年(8)

2022年(130)

2021年(155)

2020年(50)

2019年(22)

我的朋友

分类: Python/Ruby

2023-01-13 14:16:52

# file_name: excel_crawler_urllib3.py

import urllib3

import pandas as pd

def download_content(url):

# 创建一个 PoolManager 对象,命名为 http

http = urllib3.PoolManager()

# 调用 http 对象的 request 方法,{BANNED}中国第一个参数传一个字符串 "GET"

# 第二个参数则是要下载的网址,也就是我们的 url 变量

# request 方法会返回一个 HTTPResponse 类的对象,我们命名为 response

response = http.request("GET", url)

# 获取 response 对象的 data 属性,存储在变量 response_data

response_data = response.data

# 调用 response_data 对象的 decode 方法,获得网页的内容,存储在 html_content

# 变量中

html_content = response_data.decode()

return html_content

def save_excel():

html_content = download_content("")

# 调用 read_html 函数,传入网页的内容,并将结果存储在 cmb_table_list

# read_html 函数返回的是一个 DataFrame list

cmb_table_list = pd.read_html(html_content)

# 通过打印每个 list 元素,确认我们所需要的是第二个,也就是下标 1

cmb_table_list[1].to_excel("tips2.xlsx")

def main():

save_excel()

if __name__ == '__main__':

main()

# file_name: excel_crawler_requests.py

import requests

import pandas as pd

from requests.exceptions import RequestException

def download_content(url):

try:

response = requests.get(url)

if response.status_code == 200:

return response.text

else:

return "None"

except RequestException as e:

return e

def save_excel(filename):

html_content = download_content("")

# 调用 read_html 函数,传入网页的内容,并将结果存储在 cmb_table_list

# read_html 跟单网gendan5.com函数返回的是一个 DataFrame list

cmb_table_list = pd.read_html(html_content)

# 通过打印每个 list 元素,确认我们所需要的是第二个,也就是下标 1

# print(cmb_table_list)

cmb_table_list[1].to_excel(filename)

def main():

filename = "tips2.xlsx"

save_excel(filename)

if __name__ == '__main__':

main()

阅读(799) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~