栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python小知识点随手记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python小知识点随手记

使用脚本启动 scrapy 爬虫
from scrapy.cmdline import execute

import sys
import os
print(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
execute(["scrapy","crawl","douban"])
# setting --> ROBOTSTXT_OBEY = False
爬虫分析HTML源码时

在使用 Chrome 浏览器复制的 xpath 时,网页可能会加载其他标签。导致浏览器获取的 xpath 是无效的。
对于 p 标签的 text 是无法获取到全部 text 的,因为他无法识别节点。

scrapy 获取HTML数据

xpath 方法使用之一:
包含,class 中 包含 vote-post-up 这个 class 的标签

response.xpath('//soan[contains('@class','vote-post-up')]')

css 方法使用之一:
同上:过个 class 中,选取 vote-post-up 底下的 h10 标签的文本

response.css('.vote-post-up h10::text')
resposne.css('a[href='#article'] span::text')

获取属性值:

response.css('a::attr(href)')

两个 class 同时获取

response.css('.a.b')
extract_first("") # 若返回值为空,则返回默认值 ""
scrapy 传值给回调函数
meta={"key":"val"}
response.meta.get('key','')
判断是否为 unicode
if isinstance("",str):
    print("unicode")
pipeline 注意点

在处理完 item 的时候,一定要 return 回去

调用 scrapy 官方的 imgpipeline
class ImgPipeline2(ImagesPipeline):# 他处理完毕之后,会传递给下一个 pipeline
    def item_completed(self, results, item, info):
 for ok,value in results:
     img_file_path = value["path"]
 item['img_file_path'] = img_file_path
 return item

存储 cookie
import http.cookiejar as cookielib

import requests

session = requests.session()
session.cookies = cookielib.LWPcookieJar(filename='cookie.txt')
# session.get('http://www.baidu.com')
# session.cookies.save()

# 是否允许重定向
session.get('url', allow_redirects=False)

# 加载 cookie
session.cookies.load(ignore_discard=True)
print(session.cookies)

正则匹配,匹配多行
re.math("","pattarm",re.DOTALL)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/221282.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号