开发者社区> 问答> 正文

python爬取网站板块的一个小问题,急急急 == (似乎是个很简单的项目....)

想爬取木虫首页那些板块的名字(似乎是个很简单的项目....)
写了如下代码
为何既没有我create的文件,又没有爬取结果
请大侠们给出修改意见==
谢谢!!

import requests
from requests.exceptions import RequestException
import re
import json

url = 'http://muchong.com/bbs/post.php?action=newthread'
def getpage(url):

try:
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36'}
    response = requests.get(url,headers=headers)
    if response.status_code == 200:
        return response.text
    return None
except RequestException:
    return None
        

def parse(html):

html = getpage(url)    
pattern = re.compile('<td width="25%">.*?xmc_blue xmc_ft14.*?target="_blank">(.*?)</a></h4>',re.S)
items = re.findall(pattern,html)
write_to_file(items)
print(items)
   

def write_to_file(content):

with open('xiaomuchong.txt', 'a', encoding='utf-8') as f:#a代表追加
    f.write(json.dumps(content, ensure_ascii=False) + '\n')#.想输出真正的中文需要指定ensure_ascii=False

if name == '__main__':

main()

展开
收起
游客uub3gf5qnjcyg 2019-06-03 17:09:57 2772 0
2 条回答
写回答
取消 提交回答
  • 补充楼下:

    另外,你这个需要登录后才能爬取, 你也没有写登录cookies啊.

    2019-11-18 14:18:47
    赞同 展开评论 打赏
  • 没看明白你执行的 main() 函数定义在哪… 对 Python 脚本来说,进行 if __name__ == '__main__' 是指执行本脚本时默认执行的函数。你这里默认执行的 main() 函数没有定义呀,剩下的函数都只是定义,也没有执行。

    2019-07-25 00:10:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载