找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 7227|回复: 1

[已回复] 写爬虫时遇到的400错误问题

0

主题

0

帖子

0

积分

贫民

积分
0
siny 发表于 2016-11-8 16:59:13 | 显示全部楼层 |阅读模式
import urllib
import urllib2
import re
import cookielib
def Post_key():
    url = "https://accounts.pixiv.net/login?lang=zh&source=pc&view_type=page&ref=wwwtop_accounts_index"
    html = DecodeUrl(url)
    pattern = re.compile('<input type="hidden" name="post_key" value="(.*?)">',re.S)
    items = re.findall(pattern,html)
    return items[0]

def login():
    url = 'https://accounts.pixiv.net/login?lang=zh&source=pc&view_type=page&ref=wwwtop_accounts_index'
    cookie = cookielib.MozillaCookieJar("cookie.txt")
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
    login_data = urllib.urlencode({
        'pixiv_id':'账户',
        'password':'密码',
        'captcha':'',
        'g_recaptcha_response':'',
        'post_key':Post_key(),
        'source':'pc'
        })
    header = {
        'Host':'accounts.pixiv.net',
        'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0',
        'Accept':'application/json, text/javascript, */*; q=0.01',
        'Accept-Language':'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
        'Accept-Encoding':'gzip, deflate, br',
        'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8',
        'X-Requested-With':'XMLHttpRequest',
        'Referer':' https://accounts.pixiv.net/login ... wtop_accounts_index
        }
    request = urllib2.Request(url,login_data,header)

    login_pixiv = opener.open(request)

    cookie.save(ignore_discard = True , ignore_expires = True)
    url_2 = 'http://www.pixiv.net'

    login_pixiv =opener.open(url_2)
    page = login_pixiv.read().decode('utf-8')

    print page  #验证一下

login()


回复

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-11-8 19:11:23 | 显示全部楼层
http 400 说明是无效请求  Bad Request,
这种情况一般是服务器无法响应该次请求,原因比较多, 可能是对方网站进行了防抓取验证, 也可能是cookie读写问题, 或者你传递的验证参数不正确, 或者开启了referer验证,所以你要把这几种情况挨个排除
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表