首先先是确定url情况下的处理:
这边编写一个简易的函数(新手向):
def getHtmlCode(url,code):
#url是网站网址 code 是编码
header = {
'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; '
'Nexus 5 Build/MRA58N) '
'AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/56.0.2924.87 Mobile Safari/537.36'
}
req=request.Request(url)
response=request.urlopen(req)
html=response.read()
page=html.decode(code)
#print(page)
return page
这边以某个网站的一分一段表为例:
首先导入相关用的包:
from urllib import request
from parsel import Selector
import pandas as pd
import sys
sys.path.append(r"D:\数据挖掘 py\work\函数")
import writeexcel
这边导入的writeexcel 是一个创建文件,具体如下:
def writeexcel(way,name):
import xlwt
# 用于生成文件
book = xlwt.Workbook(encoding='utf-8', style_compression=0)
sheet = book.add_sheet('主表', cell_overwrite_ok=True)
#savepath = './excel_xlss/' + name + '.xls'
savepath = way + name + '.xlsx'
book.save(savepath)
输入相关参数url 以及编码类型
url = "https://www.dxsbb.com/news/117925.html"
# 请求数据
page=getHtmlCode(url,'gbk')
一般来说不是‘gbk’ 就是‘utf-8’不成功就换着试试
解析网页以及相关内容:
selector = Selector(page)
title=selector.xpath('//*[@id="content"]/h1/text()').extract()
这边xpath 里边内容不知道的话,在原网页上按f12
找到你需要的哪一行,右键复制中选择复制xpath,然后直接替换即可
获取表格的话 有一个现成的pd.read_html
df = pd.read_html(url, encoding='gbk',header=0)[0]
# 重新设置行索引,行索引从1开始
df.index = df.index +1
print(df)
这边的df已经存好了数据
可以直接进行保存,也可也使用上面的writeexcel创建一个文件进行保存