scrapy实现对github用户的自动关注

     很无聊恶作剧的想法,刚注册github不久,空空荡荡的,没有关注人,也没有人关注。正好也算是练习python和scrapy了,萌生了想法,批量follow用户,可以从一个明星用户的follower页面开始,批量follow。

      两个知识点,一是登录,二是关注。登录见上篇文章,这里说下关注,依然是采用chrome开发者工具network栏,找post的数据和网址。网址形式为https://github.com/users,post的数据的payload为 

scrapy实现对github用户的自动关注_第1张图片

request headers 的Content-Type为multipart/form-data类型,但是scrapy的FormRequest的post类型为application/x-www-form-urlencoded,可见其实现

查了好多资料,断续两三天时间,学习了scrapy  post multipart/form-data类型的方法,首先是要使用 requests_toolbelt库中的 MultipartEncoder类,以实现post的payload。

构建payload:

数据字段为utf8,anthenticity_token,取出网页中的anthenticity_token字段,两个字段构成字典send_data

然后以send_data为参数构建MultipartEncoder对象,这构成了payload内容。然后构建headers,url,具体代码如下

scrapy实现对github用户的自动关注_第2张图片

上述既是follow某个用户的具体方法。批量关注github用户,只要对follower页面关注用户批量关注就可以了。

你可能感兴趣的:(scrapy实现对github用户的自动关注)