Xpath实战之爬取学习猿地的猿著(下)

爬取猿著(总结篇)

一、使用的工具是:pycharm

二、目录:

  1. pycharm缺少相应模块的问题
  2. python写入中文json文件的问题
  3. pycharm中运行python的路径问题
  4. Chrome复制的xpath抓取为空的问题(待解,建议用火狐)
  5. 请求头池(收集备用)

三、内容

1、pycharm缺少相应模块的问题
(1)pycharm运行时出现类似这样的问题:

ModuleNotFoundError: No module named ‘retrying’,ModuleNotFoundError: No module named ‘requests’
则需要安装相应的模块

(2)如何安装

①当时做的时候搜到的解决方案是:

打开终端,运行命令:pip install request,pip install retrying
在windows中cmd打开输入运行并不能解决我pycharm运行出现的这类问题。
于是就找到了下面的解决方法(见②)。

②最终解决方案

第一步:打开file中的Settings:
Xpath实战之爬取学习猿地的猿著(下)_第1张图片
第二步:点击Project下的Python Interpreter:
Xpath实战之爬取学习猿地的猿著(下)_第2张图片
③第三步:点击图中左下角的号:
Xpath实战之爬取学习猿地的猿著(下)_第3张图片
④第四步:点击加号进入到下面页面,然后在搜索栏里搜索所需要的模块的名字,然后点击install package,安装成功会在install package那里提示安装成功。
Xpath实战之爬取学习猿地的猿著(下)_第4张图片
到此,该问题便已解决。

2、Python写入中文json文件的问题
(1)在写入json文件中的中文出现了如下问题:

在这里插入图片描述
正确结果应该如同输出一样将中文正确写入json文件中。

(2)解决方法:

参考博客:https://blog.csdn.net/weixin_44731100/article/details/90903110

我爬取的部分中由于写入json中的数据有中文,所以需要注明编码格式encoding及ensure_ascii,即:

 with open(self.filepath,'w',encoding='utf-8') as fp:
            json.dump(self.data,fp,ensure_ascii=False)

正确写入:
在这里插入图片描述

于是此问题便可解决。

3、pycharm中运行python的路径问题
(1)问题:

① 编写的程序正确,运行也正确,但是没有结果输出
② 运行时出现安装磁盘没有Python环境
则可能意味着pycharm中运行的python路径有问题

(2)解决:

①第一步:打开file下面的settings:
Xpath实战之爬取学习猿地的猿著(下)_第5张图片
②第二步:点击project interpreter,然后点击右上角的齿轮,然后点击Add:
Xpath实战之爬取学习猿地的猿著(下)_第6张图片
③ 第三步:在Base interpreter那里选择正确的python.exe,如果Location那里出现了文件夹非空的提示,那么就首先建立一个空的文件夹,然后在第一栏处选择文件夹的路径(注:也可以在选择路径的时候建立空的文件夹),最后一直按确认即可。
Xpath实战之爬取学习猿地的猿著(下)_第7张图片

4、Chrome复制的xpath抓取为空的问题(待解,建议用火狐)

网上搜到的解决方案都是:去掉xpath中的tbody即可。
但是我在复制谷歌浏览器中的Xpath里并没有tbody,所以就没有解决在谷歌中复制粘贴Xpath的问题,于是转用火狐浏览器,复制粘贴了Xpath,运行成功。

5、请求头池(收集备用)
    "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
    "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0);",
    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
    "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1",
    "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11",
    "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Maxthon 2.0)",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; TencentTraveler 4.0)",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; The World)",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SE 2.X MetaSr 1.0; SE 2.X MetaSr 1.0; .NET CLR 2.0.50727; SE 2.X MetaSr 1.0)",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser)",
    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)",
    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"
    "Mozilla/5.0 (X11; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0"

你可能感兴趣的:(Python,python,xpath)