python爬虫scrapy的坑

1 报错:
File “<stdin>”, line 1
scrapy startproject test
^
SyntaxError: invalid syntax
解决办法:
在Windows用scrapy创建项目的时候,不需要进入python环境,直接在cmd命令执行创建就可以,否则会报错:
注意:创建新项目的命令: scrapy startproject xxx项目名

2 方便开发的工具:
在抓取你自己的站点并尝试计算 XPath 时, Chrome 的开发工具提供了检查html元素的能力, 可以让你拷贝出任何你想要的元素的xpath. 它也提供了检测xpath 的能力,只需要在 Javascript 控制台中使用$x, 例如$x(“//img”)。 而在这个教程就不多深究这个了,Firefox 有一个插件, FirePath 同样也可以编辑,检查和生成XPath。

3 xPath表达式的简单例子

def parse(self,response):
  articles = response.xpath("//li[@class="first"]") #获得所有class=“first"的li
  for article in articles:
    title = article.xpath("a/text()").extract(); #返回a标签中的值
    print(title[0].encode("utf-8"))#xpath返回的是数组,不是字符串;encode转码

4 pycharm安装scrapy不成功
原因:先看报错,是否是权限的问题;有个坑:安装的包如果需要依赖其他包,必须先安装其他包,看图吧:

《python爬虫scrapy的坑》 自下往上安装

5 pycharm无法导入自定义模板,无法执行spider程序。
解决办法:在项目根目录创建一个启动脚本(和scrapy.cfg同级目录)
from scrapy import cmdline
cmdline.execute(“scrapy crawl xxx项目名”.splite())

6 在setting文件中设置请求报头,避免被封。
加user-Agent
下载延迟 download_delay

7 去掉字符串2侧的空格 str.strip()
去掉字符串左侧空格 str.lstrip()
去掉字符串右侧空格 str.rstrip()

    原文作者:老程和他的朋友们
    原文地址: https://www.jianshu.com/p/82fb12770ae5
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞