python爬虫错误之json.dumps()方法产生中文乱码问题解决方法
2018-08-01 16:38
941 查看
json.dumps()方法是将字典型数据转化成字符串型数据,而json.dumps ()方法对中文默认使用的ascii编码.如果要输出中文需要指定ensure_ascii=False:具体猫眼电影程序如下:
可能各位在爬取猫眼程序时会出现错误:
这可能是猫眼电影的反爬虫,不过等一段时间再去爬就可以了。
import requests import re import json from requests.exceptions import RequestException def get_one_page(url, headers): try: response = requests.get(url, headers) if response.status_code == 200: return response.text except RequestException: return None def parse_one_page(html): pattern = re.compile('<dd>.*?<p class="name"><a.*?>(.*?)</a>.*?</p>.*?<p.*?class="star">(.*?)</p>.*?<p.*?class="releasetime">(.*?)</p>.*?</dd>',re.S) items = re.findall(pattern,html) #print(items) for item in items: yield { 'name':item[0], 'actor':item[1].strip()[3:], 'time':item[2].strip()[5:] } # 构造成一个字典 # Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。 # 注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。 def write_file(content): with open('maoyan.txt','a',encoding='utf-8') as f: f.write(json.dumps(content, ensure_ascii=False)+'\n') # 将字典类型转化成字符串类型 # json.dumps()函数的使用将字典类型的数据转化成字符串类型的数据 # def main(): url = 'http://maoyan.com/board/1/?' headers = { 'User - Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36'} html = get_one_page(url=url, headers=headers) for item in parse_one_page(html): print(item) write_file(item) if __name__ == '__main__': main() # import requests # headers = { # 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36' # } # response = requests.get('http://maoyan.com/board/4',headers=headers) # print(response.text)阅读更多
相关文章推荐
- Python实现的json文件读取及中文乱码显示问题解决方法
- Windows下利用Gvim写PHP产生中文乱码问题解决方法
- 解决PHP中json_encode函数处理中文乱码的问题 两种方法
- Python下调用json.dumps中文显示问题及解决办法
- Python BeautifulSoup中文乱码问题的2种解决方法
- BeautifulSoup中文乱码解决问题 python 爬虫 乱码
- python 采集中文乱码问题的完美解决方法
- json传递中文乱码解决方法以及解决request.getParameter()获取参数为乱码的问题
- Python2.x中文乱码问题解决方法
- Python下调用json.dumps中文显示问题解决办法
- node爬虫爬取中文时乱码问题 | nodejs gb2312、GBK中文乱码解决方法
- 读写json中文ASCII乱码问题的解决方法
- Python2.x中文乱码问题解决方法
- python 采集中文乱码问题的完美解决方法
- Python下调用json.dumps中文显示问题解决办法
- JSON遇到中文乱码问题的解决方法
- Python BeautifulSoup中文乱码问题的2种解决方法
- Python下调用json.dumps中文显示问题解决办法
- Python json.dumps 中文乱码解决
- Python2.x中文乱码问题解决方法