|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 伏惜寒 于 2019-2-19 15:58 编辑
运行程序报错,说编码形式的问题,但是我已经用了utf-8的格式了,求解。(18行那里用了utf-8)
- import requests
- import re
- class Guoke:
- def __init__(self):
- self.url_temp = "https://www.guokr.com/ask/highlight/?page={}"
- self.headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134"}
- # 解析网页数据
- def get_url_list(self):
- #获取url列表
- return [self.url_temp.format(i) for i in range(1,51)]
- def parse_url(self,url):
- ret = requests.get(url,headers = self.headers)
- html_str = ret.content.decode("utf-8")
- return html_str
- def get_content_list(self,html_str):
- content_list = re.findall(r'<h2><a target="_blank" href="(.*?)/">(.*?)</a></h2>',html_str,re.S)
-
- return content_list
- def save_content_list(self,content_list):
- for content in content_list:
- print(content)
- def run(self):
- #获取url列表
- url_list = self.get_url_list()
- for url in url_list:
- html_str = self.parse_url(url)
- #提取数据
- content_list = self.get_content_list(html_str)
- self.save_content_list(content_list)
- if __name__ == '__main__':
- guoke = Guoke()
- guoke.run()
复制代码
- ret.encoding = ret.apparent_encoding # 解决编码格式
复制代码
|
|